summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2011-02-11 01:23:10 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2011-02-11 01:23:10 +0000
commitcedf52d247f36c9ab31718c1122c2b0402ebafda (patch)
treedd29a6ce342b43e767585fd21f16db790821cb5c
parentb3a2810309380117ede8655ad53bbf378eecb6a3 (diff)
downloadgcc-cedf52d247f36c9ab31718c1122c2b0402ebafda.tar.gz
Makefile.am (sources): Add regex.cc.
2011-02-10 Benjamin Kosnik <bkoz@redhat.com> * 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. From-SVN: r170038
-rw-r--r--libstdc++-v3/ChangeLog29
-rw-r--r--libstdc++-v3/include/bits/regex_error.h40
-rw-r--r--libstdc++-v3/src/Makefile.am6
-rw-r--r--libstdc++-v3/src/Makefile.in16
-rw-r--r--libstdc++-v3/src/regex.cc38
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_01.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_00_03.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_01_03.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_02_03.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_plus.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_questionmark.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_any.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_00_03.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_01_03.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_02_03.cc (renamed from libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/regex.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc (renamed from libstdc++-v3/testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/error_type.cc (renamed from libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc (renamed from libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc (renamed from libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc (renamed from libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc (renamed from libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc (renamed from libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc (renamed from libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc (renamed from libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc (renamed from libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc (renamed from libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc (renamed from libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc (renamed from libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc (renamed from libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc (renamed from libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc (renamed from libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc (renamed from libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc (renamed from libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/length.cc (renamed from libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc)0
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc (renamed from libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc)0
69 files changed, 103 insertions, 26 deletions
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 <bkoz@redhat.com>
+
+ * 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 <jwakely.gcc@gmail.com>
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 <em>*?+{<em> 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
+// <http://www.gnu.org/licenses/>.
+
+#include <regex>
+
+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
index 4a7161a7967..4a7161a7967 100644
--- 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
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
index 6c0fdd76f2c..6c0fdd76f2c 100644
--- 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
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
index 3439b544b63..3439b544b63 100644
--- 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
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
index dfd00a0f3d7..dfd00a0f3d7 100644
--- 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
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
index ad0f57e221d..ad0f57e221d 100644
--- 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
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
index 21abea456a9..21abea456a9 100644
--- 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
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
index 8d3716b1edf..8d3716b1edf 100644
--- 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
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
index a0a2e1fa9d8..a0a2e1fa9d8 100644
--- 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
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
index b50e07645ab..b50e07645ab 100644
--- 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
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
index ca322a8d4cd..ca322a8d4cd 100644
--- 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
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
index 1552818e987..1552818e987 100644
--- 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
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
index 12353023b38..12353023b38 100644
--- 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
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
index 64f5bcac570..64f5bcac570 100644
--- 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
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
index 398b66c6063..398b66c6063 100644
--- 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
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
index cd741d5fff2..cd741d5fff2 100644
--- 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
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
index afa071eb312..afa071eb312 100644
--- 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
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
index 724872decd5..724872decd5 100644
--- 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
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
index 20ccab01244..20ccab01244 100644
--- 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
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
index 8d8e9656d9e..8d8e9656d9e 100644
--- 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
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
index 9034a542c01..9034a542c01 100644
--- 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
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
index 2e31a708417..2e31a708417 100644
--- 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
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
index 156374ac1a7..156374ac1a7 100644
--- 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
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
index 43704af2bd1..43704af2bd1 100644
--- 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
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
index b91453c0e77..b91453c0e77 100644
--- 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
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
index 2f011fe52c4..2f011fe52c4 100644
--- 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
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
index 89deef6f19f..89deef6f19f 100644
--- 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
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
index 471c89c9024..471c89c9024 100644
--- 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
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
index ac87e4d69a0..ac87e4d69a0 100644
--- 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
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
index 8b93fe7a721..8b93fe7a721 100644
--- 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
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
index 6c72736c5cd..6c72736c5cd 100644
--- 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
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
index f38a9b8704e..f38a9b8704e 100644
--- 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
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
index 458f6d21cc5..458f6d21cc5 100644
--- 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
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
index b7c6f410cde..b7c6f410cde 100644
--- 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
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
index 027a927849e..027a927849e 100644
--- 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
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
index 4ed5f92c8b0..4ed5f92c8b0 100644
--- 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
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
index 691b8c7f5f1..691b8c7f5f1 100644
--- 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
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
index 036321face5..036321face5 100644
--- 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
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
index ba056969c5c..ba056969c5c 100644
--- 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
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
index f65d783a735..f65d783a735 100644
--- 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
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
index b715195c383..b715195c383 100644
--- 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
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
index 4dabf399677..4dabf399677 100644
--- 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
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
index a0f41740229..a0f41740229 100644
--- 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
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
index efc0597cc1d..efc0597cc1d 100644
--- 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
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/regex.cc
index 8a803ede81f..8a803ede81f 100644
--- a/libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc
+++ b/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
index 5e6cc2e9f8b..5e6cc2e9f8b 100644
--- 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
diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc b/libstdc++-v3/testsuite/28_regex/constants/error_type.cc
index 1841a462688..1841a462688 100644
--- a/libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc
+++ b/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
index 10635ff5f7f..10635ff5f7f 100644
--- a/libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc
+++ b/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
index 1f9876cac12..1f9876cac12 100644
--- a/libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc
+++ b/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
index e8ddb77bbb3..e8ddb77bbb3 100644
--- 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
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
index 2de4a0d09b8..2de4a0d09b8 100644
--- 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
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
index 33fb5baa808..33fb5baa808 100644
--- 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
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
index 8ad88995078..8ad88995078 100644
--- a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc
+++ b/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
index 5105c7d8732..5105c7d8732 100644
--- 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
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
index fe918c80d71..fe918c80d71 100644
--- 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
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
index d765ab2f403..d765ab2f403 100644
--- 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
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
index 4c897d7a4a0..4c897d7a4a0 100644
--- 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
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
index f8b3d45e867..f8b3d45e867 100644
--- 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
diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc b/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc
index 02bdcdadb71..02bdcdadb71 100644
--- a/libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc
+++ b/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
index 04fd7124277..04fd7124277 100644
--- a/libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc
+++ b/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
index 072d5d07f40..072d5d07f40 100644
--- a/libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc
+++ b/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
index 6beb9c5cdb2..6beb9c5cdb2 100644
--- a/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc
+++ b/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
index 6e29ac88c09..6e29ac88c09 100644
--- 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
diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc b/libstdc++-v3/testsuite/28_regex/sub_match/length.cc
index fc12b920ad9..fc12b920ad9 100644
--- a/libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc
+++ b/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
index c150da02dac..c150da02dac 100644
--- a/libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc