diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 961877e55d7..6f8dd42108f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,32 @@ +2011-02-10 Benjamin Kosnik + + * src/Makefile.am (sources): Add regex.cc. + * src/Makefile.in: Regenerate. + * src/regex.cc: New. + * include/bits/regex_error.h (error_type): Use constexpr. + (regex_error): Move ctor and dtor out of line. + + * testsuite/28_regex/03_requirements: To... + * testsuite/28_regex/requirements: ... this. + * testsuite/28_regex/04_header: To... + * testsuite/28_regex/headers: ... this. + * testsuite/28_regex/05_constants: To... + * testsuite/28_regex/constants: ... this. + * testsuite/28_regex/06_exception_type: To... + * testsuite/28_regex/regex_error: ... this. + * testsuite/28_regex/07_traits: To... + * testsuite/28_regex/traits: ... this. + * testsuite/28_regex/08_basic_regex: To... + * testsuite/28_regex/basic_regex: ... this. + * testsuite/28_regex/09_sub_match: To... + * testsuite/28_regex/sub_match: ... this. + * testsuite/28_regex/10_match_results: To... + * testsuite/28_regex/match_results: ... this. + * testsuite/28_regex/11_algorithms: To... + * testsuite/28_regex/algorithms: ... this. + * testsuite/28_regex/12_iterators: To... + * testsuite/28_regex/iterators: ... this. + 2011-02-10 Jonathan Wakely PR libstdc++/47662 diff --git a/libstdc++-v3/include/bits/regex_error.h b/libstdc++-v3/include/bits/regex_error.h index cfcf4798f3b..c37a0fac6d9 100644 --- a/libstdc++-v3/include/bits/regex_error.h +++ b/libstdc++-v3/include/bits/regex_error.h @@ -60,60 +60,60 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; /** The expression contained an invalid collating element name. */ - static const error_type error_collate(_S_error_collate); + static constexpr error_type error_collate(_S_error_collate); /** The expression contained an invalid character class name. */ - static const error_type error_ctype(_S_error_ctype); + static constexpr error_type error_ctype(_S_error_ctype); /** * The expression contained an invalid escaped character, or a trailing * escape. */ - static const error_type error_escape(_S_error_escape); + static constexpr error_type error_escape(_S_error_escape); /** The expression contained an invalid back reference. */ - static const error_type error_backref(_S_error_backref); + static constexpr error_type error_backref(_S_error_backref); /** The expression contained mismatched [ and ]. */ - static const error_type error_brack(_S_error_brack); + static constexpr error_type error_brack(_S_error_brack); /** The expression contained mismatched ( and ). */ - static const error_type error_paren(_S_error_paren); + static constexpr error_type error_paren(_S_error_paren); /** The expression contained mismatched { and } */ - static const error_type error_brace(_S_error_brace); + static constexpr error_type error_brace(_S_error_brace); /** The expression contained an invalid range in a {} expression. */ - static const error_type error_badbrace(_S_error_badbrace); + static constexpr error_type error_badbrace(_S_error_badbrace); /** * The expression contained an invalid character range, * such as [b-a] in most encodings. */ - static const error_type error_range(_S_error_range); + static constexpr error_type error_range(_S_error_range); /** * There was insufficient memory to convert the expression into a * finite state machine. */ - static const error_type error_space(_S_error_space); + static constexpr error_type error_space(_S_error_space); /** * One of *?+{ was not preceded by a valid regular expression. */ - static const error_type error_badrepeat(_S_error_badrepeat); + static constexpr error_type error_badrepeat(_S_error_badrepeat); /** * The complexity of an attempted match against a regular expression * exceeded a pre-set level. */ - static const error_type error_complexity(_S_error_complexity); + static constexpr error_type error_complexity(_S_error_complexity); /** * There was insufficient memory to determine whether the * regular expression could match the specified character sequence. */ - static const error_type error_stack(_S_error_stack); + static constexpr error_type error_stack(_S_error_stack); //@} _GLIBCXX_END_NAMESPACE_VERSION @@ -128,9 +128,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * * The regular expression library throws objects of this class on error. */ - class regex_error - : public std::runtime_error + class regex_error : public std::runtime_error { + regex_constants::error_type _M_code; + public: /** * @brief Constructs a regex_error object. @@ -138,9 +139,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * @param ecode the regex error code. */ explicit - regex_error(regex_constants::error_type __ecode) - : std::runtime_error("regex_error"), _M_code(__ecode) - { } + regex_error(regex_constants::error_type __ecode); + + virtual ~regex_error() throw(); /** * @brief Gets the regex error code. @@ -150,9 +151,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION regex_constants::error_type code() const { return _M_code; } - - protected: - regex_constants::error_type _M_code; }; diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index d6618f0f8c0..5524a774e31 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -210,6 +210,7 @@ sources = \ misc-inst.cc \ ostream-inst.cc \ placeholders.cc \ + regex.cc \ sstream-inst.cc \ streambuf-inst.cc \ streambuf.cc \ @@ -352,6 +353,11 @@ future.lo: future.cc future.o: future.cc $(CXXCOMPILE) -std=gnu++0x -c $< +regex.lo: regex.cc + $(LTCXXCOMPILE) -std=gnu++0x -c $< +regex.o: regex.cc + $(CXXCOMPILE) -std=gnu++0x -c $< + debug.lo: debug.cc $(LTCXXCOMPILE) -std=gnu++0x -c $< debug.o: debug.cc diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index 4d8eb33736e..956cbb9e4ad 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -110,11 +110,11 @@ am__objects_5 = atomic.lo bitmap_allocator.lo pool_allocator.lo \ strstream.lo system_error.lo tree.lo allocator-inst.lo \ concept-inst.lo fstream-inst.lo ext-inst.lo ios-inst.lo \ iostream-inst.lo istream-inst.lo istream.lo locale-inst.lo \ - misc-inst.lo ostream-inst.lo placeholders.lo sstream-inst.lo \ - streambuf-inst.lo streambuf.lo string-inst.lo valarray-inst.lo \ - wlocale-inst.lo wstring-inst.lo mutex.lo condition_variable.lo \ - chrono.lo thread.lo future.lo $(am__objects_1) \ - $(am__objects_4) + misc-inst.lo ostream-inst.lo placeholders.lo regex.lo \ + sstream-inst.lo streambuf-inst.lo streambuf.lo string-inst.lo \ + valarray-inst.lo wlocale-inst.lo wstring-inst.lo mutex.lo \ + condition_variable.lo chrono.lo thread.lo future.lo \ + $(am__objects_1) $(am__objects_4) am_libstdc___la_OBJECTS = $(am__objects_5) libstdc___la_OBJECTS = $(am_libstdc___la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) @@ -427,6 +427,7 @@ sources = \ misc-inst.cc \ ostream-inst.cc \ placeholders.cc \ + regex.cc \ sstream-inst.cc \ streambuf-inst.cc \ streambuf.cc \ @@ -941,6 +942,11 @@ future.lo: future.cc future.o: future.cc $(CXXCOMPILE) -std=gnu++0x -c $< +regex.lo: regex.cc + $(LTCXXCOMPILE) -std=gnu++0x -c $< +regex.o: regex.cc + $(CXXCOMPILE) -std=gnu++0x -c $< + debug.lo: debug.cc $(LTCXXCOMPILE) -std=gnu++0x -c $< debug.o: debug.cc diff --git a/libstdc++-v3/src/regex.cc b/libstdc++-v3/src/regex.cc new file mode 100644 index 00000000000..8a47da341ae --- /dev/null +++ b/libstdc++-v3/src/regex.cc @@ -0,0 +1,38 @@ +// regex -*- C++ -*- + +// Copyright (C) 2011 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +#include + +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + regex_error::regex_error(regex_constants::error_type __ecode) + : std::runtime_error("regex_error"), _M_code(__ecode) + { } + + regex_error::~regex_error() throw() { } + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace std diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_01.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_01.cc diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_00_03.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_00_03.cc diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_01_03.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_01_03.cc diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_02_03.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_02_03.cc diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_plus.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_plus.cc diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_questionmark.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_questionmark.cc diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_any.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_any.cc diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_00_03.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_00_03.cc diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_01_03.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_01_03.cc diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_02_03.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc rename to libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_02_03.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/regex.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/regex.cc diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc rename to libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc b/libstdc++-v3/testsuite/28_regex/constants/error_type.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc rename to libstdc++-v3/testsuite/28_regex/constants/error_type.cc diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc b/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc rename to libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc b/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc rename to libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc diff --git a/libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc rename to libstdc++-v3/testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc rename to libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc rename to libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc rename to libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc rename to libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc rename to libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc rename to libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc rename to libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc rename to libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc b/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc rename to libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc diff --git a/libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc b/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc rename to libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc diff --git a/libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc b/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc rename to libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc b/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc rename to libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc rename to libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc b/libstdc++-v3/testsuite/28_regex/sub_match/length.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc rename to libstdc++-v3/testsuite/28_regex/sub_match/length.cc diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc b/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc similarity index 100% rename from libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc rename to libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc