Makefile.am (sources): Add regex.cc.
authorBenjamin Kosnik <bkoz@redhat.com>
Fri, 11 Feb 2011 01:23:10 +0000 (01:23 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Fri, 11 Feb 2011 01:23:10 +0000 (01:23 +0000)
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

133 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/regex_error.h
libstdc++-v3/src/Makefile.am
libstdc++-v3/src/Makefile.in
libstdc++-v3/src/regex.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc [deleted file]
libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc [deleted file]
libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc [deleted file]
libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc [deleted file]
libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc [deleted file]
libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc [deleted file]
libstdc++-v3/testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc [deleted file]
libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc [deleted file]
libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc [deleted file]
libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc [deleted file]
libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc [deleted file]
libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc [deleted file]
libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc [deleted file]
libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc [deleted file]
libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc [deleted file]
libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc [deleted file]
libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc [deleted file]
libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc [deleted file]
libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_01.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_00_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_01_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_02_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_plus.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_questionmark.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_any.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_00_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_01_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_02_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/string_range_01_02_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/regex.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/constants/error_type.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/sub_match/length.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc [new file with mode: 0644]

index 961877e55d7d70caaa450280d975a24506dea357..6f8dd42108f96bddd375afce464b6de4201ade2c 100644 (file)
@@ -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
index cfcf4798f3be94c00cee4c1fb6b7db40151a6489..c37a0fac6d98917b3238506d1b7d4622999c279c 100644 (file)
@@ -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;
   };
 
 
index d6618f0f8c0ceeac9e3fb0b7cbb4796fbfb4812d..5524a774e310ddcccf71c71e45ee47da52e832d4 100644 (file)
@@ -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
index 4d8eb33736e71ce74d301e91acb2047cf200c7cb..956cbb9e4ad1aa53971406d5f6b83efb62434467 100644 (file)
@@ -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 (file)
index 0000000..8a47da3
--- /dev/null
@@ -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/03_requirements/typedefs.cc b/libstdc++-v3/testsuite/28_regex/03_requirements/typedefs.cc
deleted file mode 100644 (file)
index 072d5d0..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-02-17  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.3 Requirements [re.req]
-// 28.2 (4) Table 127 - Regular expression traits class requirements
-
-#include <regex>
-
-void
-test01()
-{
-  typedef std::regex_traits<char> traits;
-
-  typedef traits::char_type       char_type;
-  typedef traits::string_type     string_type;
-  typedef traits::locale_type     locale_type;
-  typedef traits::char_class_type char_class_type;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/28_regex/04_header/regex/std_c++0x_neg.cc
deleted file mode 100644 (file)
index e8ddb77..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++98" }
-
-// Copyright (C) 2007, 2009, 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <regex>  // { dg-excess-errors "In file included from" }
-
-
diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc b/libstdc++-v3/testsuite/28_regex/05_constants/error_type.cc
deleted file mode 100644 (file)
index 1841a46..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do compile }
-//
-// 2009-06-17  Stephen M. Webb  <stephen.webb@xandros.com>
-//
-// Copyright (C) 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.5.3 
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex_constants::error_type err __attribute__((unused));
-
-       err = std::regex_constants::error_collate;
-       err = std::regex_constants::error_ctype;
-       err = std::regex_constants::error_escape;
-       err = std::regex_constants::error_backref;
-       err = std::regex_constants::error_brack;
-       err = std::regex_constants::error_paren;
-       err = std::regex_constants::error_brace;
-       err = std::regex_constants::error_badbrace;
-       err = std::regex_constants::error_range;
-       err = std::regex_constants::error_space;
-       err = std::regex_constants::error_badrepeat;
-       err = std::regex_constants::error_complexity;
-       err = std::regex_constants::error_stack;
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc b/libstdc++-v3/testsuite/28_regex/05_constants/match_flag_type.cc
deleted file mode 100644 (file)
index 10635ff..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do compile }
-//
-// 2009-06-17  Stephen M. Webb  <stephen.webb@xandros.com>
-//
-// Copyright (C) 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.5.1 
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex_constants::match_flag_type flag = std::regex_constants::match_default;
-
-       flag |= std::regex_constants::match_not_bol;
-       flag |= std::regex_constants::match_not_eol;
-       flag |= std::regex_constants::match_not_bow;
-       flag |= std::regex_constants::match_not_eow;
-       flag |= std::regex_constants::match_any;
-       flag |= std::regex_constants::match_not_null;
-       flag |= std::regex_constants::match_continuous;
-       flag |= std::regex_constants::match_prev_avail;
-       flag |= std::regex_constants::format_default;
-       flag |= std::regex_constants::format_sed;
-       flag |= std::regex_constants::format_no_copy;
-       flag |= std::regex_constants::format_first_only;
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc b/libstdc++-v3/testsuite/28_regex/05_constants/syntax_option_type.cc
deleted file mode 100644 (file)
index 1f9876c..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do compile }
-//
-// 2009-06-17  Stephen M. Webb  <stephen.webb@xandros.com>
-//
-// Copyright (C) 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.5.1 
-
-#include <regex>
-
-void
-test01()
-{
-  std::regex_constants::syntax_option_type option { };
-  option = option | std::regex_constants::icase;
-  option = option | std::regex_constants::nosubs;
-  option = option | std::regex_constants::optimize;
-  option = option | std::regex_constants::collate;
-  option = option | std::regex_constants::ECMAScript;
-  option = option | std::regex_constants::basic;
-  option = option | std::regex_constants::extended;
-  option = option | std::regex_constants::awk;
-  option = option | std::regex_constants::grep;
-  option = option | std::regex_constants::egrep;
-}
-
-void
-test02()
-{
-  std::regex_constants::syntax_option_type option { };
-  option = option & std::regex_constants::icase;
-  option = option & std::regex_constants::nosubs;
-  option = option & std::regex_constants::optimize;
-  option = option & std::regex_constants::collate;
-  option = option & std::regex_constants::ECMAScript;
-  option = option & std::regex_constants::basic;
-  option = option & std::regex_constants::extended;
-  option = option & std::regex_constants::awk;
-  option = option & std::regex_constants::grep;
-  option = option & std::regex_constants::egrep;
-}
-
-void
-test03()
-{
-  std::regex_constants::syntax_option_type option { };
-  option = ~std::regex_constants::icase;
-  option = ~std::regex_constants::nosubs;
-  option = ~std::regex_constants::optimize;
-  option = ~std::regex_constants::collate;
-  option = ~std::regex_constants::ECMAScript;
-  option = ~std::regex_constants::basic;
-  option = ~std::regex_constants::extended;
-  option = ~std::regex_constants::awk;
-  option = ~std::regex_constants::grep;
-  option = ~std::regex_constants::egrep;
-  option = option;
-}
-
-void
-test04_constexpr()
-{
-  using namespace std::regex_constants;
-  constexpr auto a1 __attribute__((unused)) = icase | awk;
-  constexpr auto a2 __attribute__((unused)) = icase & awk;
-  constexpr auto a3 __attribute__((unused)) = ~grep;
-}
-
-int main()
-{
-  test01();
-  test02();
-  test03();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc b/libstdc++-v3/testsuite/28_regex/06_exception_type/regex_error.cc
deleted file mode 100644 (file)
index 04fd712..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do compile }
-//
-// 2009-06-17  Stephen M. Webb  <stephen.webb@xandros.com>
-//
-// Copyright (C) 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.6 [re.badexp]
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex_error error(std::regex_constants::error_collate);
-       VERIFY(error.code() == std::regex_constants::error_collate);
-
-       try
-       {
-               throw error;
-       }
-       catch (std::runtime_error& ex)
-       {
-       }
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring.cc
deleted file mode 100644 (file)
index 1552818..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-// 2009-06-05  Stephen M. Webb  <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2009 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// C++0X [28.8.3] class template basic_regex assign()
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests assign operation from a C-style null-terminated-string.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  std::basic_regex<char> re;
-
-  const char* cs = "aab";
-  re.assign(cs);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc
deleted file mode 100644 (file)
index 1235302..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests basic_regex assign operator from a C-style null-terminated-string.  
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  const char* cs = "aab";
-  test_type re;
-  re = cs;
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/moveable.cc
deleted file mode 100644 (file)
index 64f5bca..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// 2010-07-07  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3](9-11) class template basic_regex assign
-
-#include <regex>
-#include <testsuite_hooks.h>
-#include <utility>
-
-// Tests assign operator of the basic_regex class for moveable rvalues.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex src_re("aaba");
-  const unsigned mark_count = src_re.mark_count();
-       const std::regex::flag_type flags = src_re.flags();
-
-       std::regex target_re;
-  
-  target_re.assign(std::move(src_re));
-  
-       VERIFY( target_re.flags() == flags );
-       VERIFY( target_re.mark_count() == mark_count );
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/pstring.cc
deleted file mode 100644 (file)
index 398b66c..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests assign operation from a Pascal-style counted-string.  
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  const char cs[] = "aab";
-  test_type re;
-  re.assign(cs, sizeof(cs)-1, std::regex_constants::basic);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/range.cc
deleted file mode 100644 (file)
index cd741d5..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests range assign of the basic_regex class.  
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  char s[] = "a+b|c";
-  test_type re;
-  re.assign(s, s + 5);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string.cc
deleted file mode 100644 (file)
index afa071e..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <string>
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests C++ string assignment of the basic_regex class.  
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  std::string s("a*b");
-  test_type re;
-  re.assign(s);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/char/string_op.cc
deleted file mode 100644 (file)
index 724872d..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <string>
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests basic_regex assignment operator from a C++ string;
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  std::string s("a*b");
-  test_type re;
-  re = s;
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc
deleted file mode 100644 (file)
index 20ccab0..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests assign operation from a C-style null-terminated-string.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::basic_regex<wchar_t> test_type;
-
-  const wchar_t* cs = L"aab";
-  test_type re;
-  re.assign(cs);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc
deleted file mode 100644 (file)
index 8d8e965..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests basic_regex assign operator from a C-style null-terminated-string.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::basic_regex<wchar_t> test_type;
-
-  const wchar_t* cs = L"aab";
-  test_type re;
-  re = cs;
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc
deleted file mode 100644 (file)
index 9034a54..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests assign operation from a Pascal-style counted-string.  
-void test01()
-{
-  typedef std::basic_regex<wchar_t> test_type;
-
-  const wchar_t cs[] = L"aab";
-  test_type re;
-  re.assign(cs, sizeof(cs)-1, std::regex_constants::basic);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc
deleted file mode 100644 (file)
index 2e31a70..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests range assign of the basic_regex class.  
-void test01()
-{
-  typedef std::basic_regex<wchar_t> test_type;
-  bool test __attribute__((unused)) = true;
-
-  wchar_t s[] = L"a+b|c";
-  test_type re;
-  re.assign(s, s + 5);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc
deleted file mode 100644 (file)
index 156374a..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <string>
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests C++ string assignment of the basic_regex class.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::basic_regex<wchar_t> test_type;
-
-  std::wstring s(L"a*b");
-  test_type re;
-  re.assign(s);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc
deleted file mode 100644 (file)
index 43704af..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.3] class template basic_regex assign()
-
-#include <string>
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests basic_regex assignment operator from a C++ string;
-void test01()
-{
-       bool test __attribute__((unused)) = true;
-       typedef std::basic_regex<wchar_t> test_type;
-
-  std::wstring s(L"a*b");
-  test_type re;
-  re = s;
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc
deleted file mode 100644 (file)
index b91453c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2007, 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 7.8.2 basic_regex constructors
-
-#include <regex>
-
-void
-test01() 
-{ 
-  std::regex re("(a|b)*abb", std::regex::basic);
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc
deleted file mode 100644 (file)
index 2f011fe..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// { dg-do run }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests Pascal-style counted-string constructor of the basic_regex class.  
-void test01()
-{
-  const char* cs = "aab";
-       std::regex re(cs, 3, std::regex::basic);
-
-  VERIFY( re.flags() & std::regex_constants::basic );
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc
deleted file mode 100644 (file)
index 89deef6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-do run }
-// { dg-options "-std=c++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests Pascal-style counted-string constructor of the basic_regex class.  
-void test01()
-{
-       bool test __attribute__((unused)) = true;
-
-  const wchar_t* cs = L"aab";
-       std::wregex re(cs, 3, std::wregex::basic);
-
-  VERIFY( re.flags() & std::regex_constants::basic );
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
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/08_basic_regex/ctors/basic/string_range_01_02_03.cc
deleted file mode 100644 (file)
index 471c89c..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do run { xfail *-*-* } }
-
-//
-// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.8.2 basic_regex ctor
-// Tests for invalid range expression
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       try
-       {
-               std::regex  re("a\\{1,2,3\\}", std::regex::basic);
-       }
-       catch (std::regex_error& ex)
-       {
-               VERIFY( ex.code() == std::regex_constants::error_badbrace );
-       }
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc
deleted file mode 100644 (file)
index ac87e4d..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests C-style null-terminated-string constructor of the basic_regex class.  
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  const char* cs = "aab";
-  test_type re(cs);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc
deleted file mode 100644 (file)
index 8b93fe7..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2007, 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 7.8.2 basic_regex constructors
-
-#include <regex>
-
-void
-test01() 
-{ 
-  std::regex re("(a|b)*abb", std::regex::awk);
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc
deleted file mode 100644 (file)
index 6c72736..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2007, 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 7.8.2 basic_regex constructors
-
-#include <regex>
-
-void
-test01() 
-{ 
-  std::regex re("(a|b)*abb");
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc
deleted file mode 100644 (file)
index f38a9b8..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2007, 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 7.8.2 basic_regex constructors
-
-#include <regex>
-
-void
-test01() 
-{ 
-  std::regex re("(a|b)*abb", std::regex::egrep);
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc
deleted file mode 100644 (file)
index 458f6d2..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2007, 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 7.8.2 basic_regex constructors
-
-#include <regex>
-
-void
-test01() 
-{ 
-  using std::regex;
-
-  regex re("(a|b)*abb", regex::grep);
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/default.cc
deleted file mode 100644 (file)
index b7c6f41..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests default constructor of the basic_regex class.  
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  // default constructor
-  test_type re;
-  
-  // Check for required typedefs
-  typedef test_type::value_type  value_type;
-  typedef test_type::flag_type   flag_type;
-  typedef test_type::locale_type locale_type;
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/char/range.cc
deleted file mode 100644 (file)
index 027a927..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests range constructor of the basic_regex class.  
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  char s[] = "a+b|c";
-  test_type re(s, s + 5);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/copy_char.cc
deleted file mode 100644 (file)
index 4ed5f92..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// { dg-options "-std=c++0x" }
-
-// 2010-07-07  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2](11) class template basic_regex constructors
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests copy constructor of the basic_regex class.  
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  test_type src_re("aaba");
-
-  test_type target_re(src_re);
-  
-       VERIFY( target_re.flags() == src_re.flags() );
-       VERIFY( target_re.mark_count() == src_re.mark_count() );
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc
deleted file mode 100644 (file)
index 691b8c7..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2007, 2009 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 7.8.2 basic_regex constructors
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01() 
-{ 
-  bool test __attribute__((unused)) = true;
-
-  std::regex re("(wee|week)(knights|night)", std::regex::extended);
-  
-  VERIFY( re.flags() == std::regex::extended );
-  VERIFY( re.mark_count() == 0 );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
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/08_basic_regex/ctors/extended/string_range_01_02_03.cc
deleted file mode 100644 (file)
index 036321f..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do run { xfail *-*-* } }
-
-//
-// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.8.2 basic_regex ctor
-// Tests for invalid range expression
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       try
-       {
-               std::regex  re("a{1,2,3}", std::regex::extended);
-       }
-       catch (std::regex_error& ex)
-       {
-               VERIFY( ex.code() == std::regex_constants::error_badbrace );
-       }
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/move_char.cc
deleted file mode 100644 (file)
index ba05696..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// 2010-07-07  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2](12-14) class template basic_regex constructors
-
-#include <regex>
-#include <testsuite_hooks.h>
-#include <utility>
-
-// Tests move constructor of the basic_regex class.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::basic_regex<char> test_type;
-
-  test_type src_re("aaba");
-  const unsigned mark_count = src_re.mark_count();
-       const test_type::flag_type flags = src_re.flags();
-
-  test_type target_re = std::move(src_re);
-  
-       VERIFY( target_re.flags() == flags );
-       VERIFY( target_re.mark_count() == mark_count );
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_char.cc
deleted file mode 100644 (file)
index f65d783..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <string>
-#include <regex>
-#include <testsuite_hooks.h>
-#include <testsuite_allocator.h>
-
-// Tests C++ string constructor of the basic_regex class.  
-void test01()
-{
-  typedef std::basic_regex<char> test_type;
-
-  std::string s("a*b");
-  test_type re(s);
-}
-
-void test02()
-{
-  typedef std::basic_regex<char> test_type;
-  typedef __gnu_test::tracker_allocator<char> alloc_type;
-
-  std::basic_string<char, std::char_traits<char>, alloc_type> s("a*b");
-  test_type re(s);
-}
-
-int
-main()
-{ 
-  test01();
-  test02();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc
deleted file mode 100644 (file)
index b715195..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <string>
-#include <regex>
-#include <testsuite_hooks.h>
-#include <testsuite_allocator.h>
-
-// Tests C++ string constructor of the basic_regex class.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::basic_regex<wchar_t> test_type;
-
-  std::wstring s(L"a*b");
-  test_type re(s);
-}
-
-void test02()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::basic_regex<wchar_t> test_type;
-  typedef __gnu_test::tracker_allocator<wchar_t> alloc_type;
-
-  std::basic_string<wchar_t, std::char_traits<wchar_t>, alloc_type> s(L"a*b");
-  test_type re(s);
-}
-
-int
-main()
-{ 
-  test01();
-  test02();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc
deleted file mode 100644 (file)
index 4dabf39..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests C-style null-terminated-string constructor of the basic_regex class.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::basic_regex<wchar_t> test_type;
-
-  const wchar_t* cs = L"aab";
-  test_type re(cs);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc
deleted file mode 100644 (file)
index a0f4174..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests default constructor of the basic_regex class.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::basic_regex<wchar_t> test_type;
-
-  // default constructor
-  test_type re;
-  
-  // Check for required typedefs
-  typedef test_type::value_type  value_type;
-  typedef test_type::flag_type   flag_type;
-  typedef test_type::locale_type locale_type;
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc
deleted file mode 100644 (file)
index efc0597..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2010 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// [28.8.2] class template basic_regex constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests range constructor of the basic_regex class.  
-void test01()
-{
-       bool test __attribute__((unused)) = true;
-  typedef std::basic_regex<wchar_t> test_type;
-
-  wchar_t s[] = L"a+b|c";
-  test_type re(s, s + 5);
-}
-
-int
-main()
-{ 
-  test01();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/regex.cc
deleted file mode 100644 (file)
index 8a803ed..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2007, 2009, 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 7.4 typedef std::regex
-
-#include <regex>
-
-void
-test01() 
-{ 
-  std::regex re;
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc
deleted file mode 100644 (file)
index 5e6cc2e..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2010, 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <regex>
-#include <testsuite_common_types.h>
-
-namespace __gnu_test
-{
-  struct constexpr_member_data
-  {
-    template<typename _Ttesttype>
-      void
-      operator()()
-      {
-       struct _Concept
-       {
-         void __constraint()
-         {
-           constexpr auto v1 __attribute__((unused))
-             = _Ttesttype::icase;
-           constexpr auto v2 __attribute__((unused))
-             = _Ttesttype::nosubs;
-           constexpr auto v3 __attribute__((unused))
-             = _Ttesttype::optimize;
-           constexpr auto v4 __attribute__((unused))
-             = _Ttesttype::collate;
-           constexpr auto v5 __attribute__((unused))
-             = _Ttesttype::ECMAScript;
-           constexpr auto v6 __attribute__((unused))
-             = _Ttesttype::basic;
-           constexpr auto v7 __attribute__((unused))
-             = _Ttesttype::extended;
-           constexpr auto v8 __attribute__((unused))
-             = _Ttesttype::awk;
-           constexpr auto v9 __attribute__((unused))
-             = _Ttesttype::grep;
-           constexpr auto v10 __attribute__((unused))
-             = _Ttesttype::egrep;
-         }
-       };
-
-       _Concept c;
-       c.__constraint();
-      }
-  };
-}
-
-int main()
-{
-  __gnu_test::constexpr_member_data test;
-  test.operator()<std::regex>();
-#ifdef _GLIBCXX_USE_WCHAR_T
-  test.operator()<std::wregex>();
-#endif
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc b/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_char.cc
deleted file mode 100644 (file)
index 6beb9c5..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-09  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.9.1 [re.submatch.members] sub_match members
-
-#include <regex>
-#include <string>
-#include <testsuite_hooks.h>
-
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  typedef char                          value_type;
-  typedef std::basic_string<value_type> string_type;
-  typedef std::sub_match<value_type*>   sub_match_type;
-  value_type test_data[] = "cabbage";
-
-       sub_match_type sm;
-       sm.first = test_data + 0;
-       sm.second  = test_data + sizeof(test_data)/sizeof(value_type);
-       sm.matched = true;
-
-       string_type sm_string = sm;
-
-       VERIFY( sm_string == string_type(test_data) );
-}
diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/09_sub_match/cast_wchar_t.cc
deleted file mode 100644 (file)
index 6e29ac8..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-09  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.9.1 [re.submatch.members] sub_match members
-
-#include <regex>
-#include <string>
-#include <testsuite_hooks.h>
-
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  typedef wchar_t                       value_type;
-  typedef std::basic_string<value_type> string_type;
-  typedef std::sub_match<value_type*>   sub_match_type;
-  value_type test_data[] = L"cabbage";
-
-       sub_match_type sm;
-       sm.first = test_data + 0;
-       sm.second  = test_data + sizeof(test_data)/sizeof(value_type);
-       sm.matched = true;
-
-       string_type sm_string = sm;
-
-       VERIFY( sm_string == string_type(test_data) );
-}
diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc b/libstdc++-v3/testsuite/28_regex/09_sub_match/length.cc
deleted file mode 100644 (file)
index fc12b92..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-09  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.9.1 [re.submatch.members] sub_match members
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-  typedef std::sub_match<const char*> sm_t;
-  const char*           test_data = "cabbage";
-  sm_t::difference_type test_len = 3;
-
-       sm_t sm1;
-       sm1.first   = test_data + 0;
-       sm1.second  = test_data + test_len;
-       sm1.matched = true;
-
-       sm_t sm2;
-       sm2.matched = false;
-
-       VERIFY( sm1.length() == test_len );
-       VERIFY( sm2.length() == 0 );
-}
diff --git a/libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc b/libstdc++-v3/testsuite/28_regex/09_sub_match/typedefs.cc
deleted file mode 100644 (file)
index c150da0..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-07  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.9 Class template sub_match
-
-#include <regex>
-
-
-void
-test01()
-{
-  typedef std::sub_match<char*> sm;
-
-  typedef sm::value_type       value_type;
-  typedef sm::difference_type  difference_type;
-  typedef sm::iterator         iterator;
-  typedef sm::string_type      string_type;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/char/default.cc
deleted file mode 100644 (file)
index 4c897d7..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// { dg-options "-std=c++0x" }
-
-// 2009-06-10  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2009 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// C++0X [28.10.1] class template match_results constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests default constructor of the match_result class.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::cmatch cm;
-  VERIFY( cm.size() == 0 );
-  VERIFY( cm.str() == std::cmatch::string_type() );
-}
-
-void test02()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::smatch sm;
-  VERIFY( sm.size() == 0 );
-  VERIFY( sm.str() == std::smatch::string_type() );
-}
-
-int
-main()
-{ 
-  test01();
-  test02();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc
deleted file mode 100644 (file)
index f8b3d45..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// { dg-options "-std=c++0x" }
-
-// 2009-06-05  Stephen M. Webb  <stephen.webb@bregmasoft.com>
-//
-// Copyright (C) 2009 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.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// C++0X [28.10.1] class template match_results constructor
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-// Tests default constructor of the match_result class.  
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::wcmatch cm;
-  VERIFY( cm.size() == 0 );
-  VERIFY( cm.str() == std::wcmatch::string_type() );
-}
-
-void test02()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::wsmatch sm;
-  VERIFY( sm.size() == 0 );
-  VERIFY( sm.str() == std::wsmatch::string_type() );
-}
-
-int
-main()
-{ 
-  test01();
-  test02();
-  return 0;
-};
diff --git a/libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc b/libstdc++-v3/testsuite/28_regex/10_match_results/typedefs.cc
deleted file mode 100644 (file)
index 02bdcda..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.10 Class template sub_match
-
-#include <regex>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::match_results<char*> mr;
-
-  typedef mr::value_type       value_type;
-  typedef mr::const_reference  const_reference;
-  typedef mr::reference        reference;
-  typedef mr::const_iterator   const_iterator;
-  typedef mr::iterator         iterator;
-  typedef mr::difference_type  difference_type;
-  typedef mr::size_type        size_type;
-  typedef mr::allocator_type   allocator_type;
-  typedef mr::char_type        char_type;
-  typedef mr::string_type      string_type;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc
deleted file mode 100644 (file)
index 4a7161a..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-11  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests BRE against a std::string target.
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re("\\(a\\).*", std::regex::basic);
-       std::string target("aaba");
-       std::smatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target.begin() );
-       VERIFY( m.prefix().second == target.begin() );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target.end() );
-       VERIFY( m.suffix().second == target.end() );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target.begin() );
-       VERIFY( m[0].second == target.end() );
-       VERIFY( m[0].matched == true );
-       VERIFY( m[1].first == target.begin() );
-       VERIFY( m[1].second == target.begin()+1 );
-       VERIFY( m[1].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc
deleted file mode 100644 (file)
index 6c0fdd7..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests BRE against a std::string target, exercising range {0,3}
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re("a\\{0,3\\}", std::regex::basic);
-       std::string target("aa");
-       std::smatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target.begin() );
-       VERIFY( m.prefix().second == target.begin() );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target.end() );
-       VERIFY( m.suffix().second == target.end() );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target.begin() );
-       VERIFY( m[0].second == target.end() );
-       VERIFY( m[0].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc
deleted file mode 100644 (file)
index 3439b54..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests BRE against a std::string target, exercising range {1,3}
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re("a\\{1,3\\}", std::regex::basic);
-       std::string target("aa");
-       std::smatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target.begin() );
-       VERIFY( m.prefix().second == target.begin() );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target.end() );
-       VERIFY( m.suffix().second == target.end() );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target.begin() );
-       VERIFY( m[0].second == target.end() );
-       VERIFY( m[0].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc
deleted file mode 100644 (file)
index dfd00a0..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do run { xfail *-*-* } }
-
-//
-// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests BRE against a std::string target, exercising range {2,3}
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re("a\\{2,3\\}", std::regex::basic);
-       std::string target("aa");
-       std::smatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target.begin() );
-       VERIFY( m.prefix().second == target.begin() );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target.end() );
-       VERIFY( m.suffix().second == target.end() );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target.begin() );
-       VERIFY( m[0].second == target.end() );
-       VERIFY( m[0].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc
deleted file mode 100644 (file)
index ad0f57e..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do run { xfail *-*-* } }
-
-//
-// 2010-06-21  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests ERE against a C-string target, plus-sign match.
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re("(a+)", std::regex::extended);
-       const char target[] = "aa";
-       std::cmatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( re.mark_count() == 1 );
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target );
-       VERIFY( m.prefix().second == target );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target+sizeof(target) );
-       VERIFY( m.suffix().second == target+sizeof(target) );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target );
-       VERIFY( m[0].second == target+sizeof(target) );
-       VERIFY( m[0].matched == true );
-       VERIFY( m[1].first == target );
-       VERIFY( m[1].second == target+sizeof(target) );
-       VERIFY( m[1].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc
deleted file mode 100644 (file)
index 21abea4..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do run { xfail *-*-* } }
-
-//
-// 2010-06-21  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests ERE against a C-string target, question-mark match.
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re("(aa?)", std::regex::extended);
-       char target[] = "a";
-       std::cmatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( re.mark_count() == 1 );
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target );
-       VERIFY( m.prefix().second == target );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target+sizeof(target) );
-       VERIFY( m.suffix().second == target+sizeof(target) );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target );
-       VERIFY( m[0].second == target+sizeof(target) );
-       VERIFY( m[0].matched == true );
-       VERIFY( m[1].first == target );
-       VERIFY( m[1].second == target+sizeof(target) );
-       VERIFY( m[1].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc
deleted file mode 100644 (file)
index 8d3716b..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-11  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests ERE against a std::string target.
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re(".*", std::regex::extended);
-       std::string target("aaba");
-       std::smatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target.begin() );
-       VERIFY( m.prefix().second == target.begin() );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target.end() );
-       VERIFY( m.suffix().second == target.end() );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target.begin() );
-       VERIFY( m[0].second == target.end() );
-       VERIFY( m[0].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc
deleted file mode 100644 (file)
index a0a2e1f..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests ERE against a std::string target, exercising range {0,3}
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re("a{0,3}", std::regex::extended);
-       std::string target("aa");
-       std::smatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target.begin() );
-       VERIFY( m.prefix().second == target.begin() );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target.end() );
-       VERIFY( m.suffix().second == target.end() );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target.begin() );
-       VERIFY( m[0].second == target.end() );
-       VERIFY( m[0].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc
deleted file mode 100644 (file)
index b50e076..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests ERE against a std::string target, exercising range {1,3}
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re("a{1,3}", std::regex::extended);
-       std::string target("aa");
-       std::smatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target.begin() );
-       VERIFY( m.prefix().second == target.begin() );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target.end() );
-       VERIFY( m.suffix().second == target.end() );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target.begin() );
-       VERIFY( m[0].second == target.end() );
-       VERIFY( m[0].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc
deleted file mode 100644 (file)
index ca322a8..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// { dg-options "-std=c++0x" }
-// { dg-do run { xfail *-*-* } }
-
-//
-// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.11.2 regex_match
-// Tests ERE against a std::string target, exercising range {2,3}
-
-#include <regex>
-#include <testsuite_hooks.h>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-
-       std::regex  re("a{2,3}", std::regex::extended);
-       std::string target("aa");
-       std::smatch m;
-
-       VERIFY( std::regex_match(target, m, re) );
-
-       VERIFY( m.size()  == re.mark_count()+1 );
-       VERIFY( m.empty() == false );
-       VERIFY( m.prefix().first == target.begin() );
-       VERIFY( m.prefix().second == target.begin() );
-       VERIFY( m.prefix().matched == false );
-       VERIFY( m.suffix().first == target.end() );
-       VERIFY( m.suffix().second == target.end() );
-       VERIFY( m.suffix().matched == false );
-       VERIFY( m[0].first == target.begin() );
-       VERIFY( m[0].second == target.end() );
-       VERIFY( m[0].matched == true );
-}
-
-
-int
-main()
-{ 
-  test01();
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc
deleted file mode 100644 (file)
index 2de4a0d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.12.1 Class template regex_iterator
-
-#include <regex>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-  std::regex_iterator<char*> it;
-       std::cregex_iterator cit;
-       std::sregex_iterator sit;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc
deleted file mode 100644 (file)
index 33fb5ba..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.12.1 Class template regex_iterator
-
-#include <regex>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-  std::regex_iterator<wchar_t*> it;
-       std::wcregex_iterator cit;
-       std::wsregex_iterator sit;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc
deleted file mode 100644 (file)
index 8ad8899..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.12.1 Class template regex_iterator
-
-#include <regex>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::regex_iterator<char*> it;
-
-  typedef it::regex_type         regex_type;
-  typedef it::value_type         value_type;
-  typedef it::difference_type    difference_type;
-  typedef it::pointer            pointer;
-  typedef it::reference          reference;
-  typedef it::iterator_category  iterator_category;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc
deleted file mode 100644 (file)
index 5105c7d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.12.2 Class template regex_token_iterator
-
-#include <regex>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-  std::regex_token_iterator<char*> it;
-       std::cregex_token_iterator cit;
-       std::sregex_token_iterator sit;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc
deleted file mode 100644 (file)
index fe918c8..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-//
-// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.12.2 Class template regex_token_iterator
-
-#include <regex>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-  std::regex_token_iterator<wchar_t*> it;
-       std::wcregex_token_iterator cit;
-       std::wsregex_token_iterator sit;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc
deleted file mode 100644 (file)
index d765ab2..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=c++0x" }
-
-//
-// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
-//
-// Copyright (C) 2010 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.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 28.12.2 Class template regex_token_iterator
-
-#include <regex>
-
-void
-test01()
-{
-  bool test __attribute__((unused)) = true;
-  typedef std::regex_token_iterator<char*> it;
-
-  typedef it::regex_type         regex_type;
-  typedef it::value_type         value_type;
-  typedef it::difference_type    difference_type;
-  typedef it::pointer            pointer;
-  typedef it::reference          reference;
-  typedef it::iterator_category  iterator_category;
-}
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_01.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_01.cc
new file mode 100644 (file)
index 0000000..4a7161a
--- /dev/null
@@ -0,0 +1,63 @@
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-11  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests BRE against a std::string target.
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re("\\(a\\).*", std::regex::basic);
+       std::string target("aaba");
+       std::smatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target.begin() );
+       VERIFY( m.prefix().second == target.begin() );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target.end() );
+       VERIFY( m.suffix().second == target.end() );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target.begin() );
+       VERIFY( m[0].second == target.end() );
+       VERIFY( m[0].matched == true );
+       VERIFY( m[1].first == target.begin() );
+       VERIFY( m[1].second == target.begin()+1 );
+       VERIFY( m[1].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_00_03.cc
new file mode 100644 (file)
index 0000000..6c0fdd7
--- /dev/null
@@ -0,0 +1,60 @@
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests BRE against a std::string target, exercising range {0,3}
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re("a\\{0,3\\}", std::regex::basic);
+       std::string target("aa");
+       std::smatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target.begin() );
+       VERIFY( m.prefix().second == target.begin() );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target.end() );
+       VERIFY( m.suffix().second == target.end() );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target.begin() );
+       VERIFY( m[0].second == target.end() );
+       VERIFY( m[0].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_01_03.cc
new file mode 100644 (file)
index 0000000..3439b54
--- /dev/null
@@ -0,0 +1,60 @@
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests BRE against a std::string target, exercising range {1,3}
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re("a\\{1,3\\}", std::regex::basic);
+       std::string target("aa");
+       std::smatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target.begin() );
+       VERIFY( m.prefix().second == target.begin() );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target.end() );
+       VERIFY( m.suffix().second == target.end() );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target.begin() );
+       VERIFY( m[0].second == target.end() );
+       VERIFY( m[0].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_02_03.cc
new file mode 100644 (file)
index 0000000..dfd00a0
--- /dev/null
@@ -0,0 +1,61 @@
+// { dg-options "-std=c++0x" }
+// { dg-do run { xfail *-*-* } }
+
+//
+// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests BRE against a std::string target, exercising range {2,3}
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re("a\\{2,3\\}", std::regex::basic);
+       std::string target("aa");
+       std::smatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target.begin() );
+       VERIFY( m.prefix().second == target.begin() );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target.end() );
+       VERIFY( m.suffix().second == target.end() );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target.begin() );
+       VERIFY( m[0].second == target.end() );
+       VERIFY( m[0].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_plus.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_plus.cc
new file mode 100644 (file)
index 0000000..ad0f57e
--- /dev/null
@@ -0,0 +1,65 @@
+// { dg-options "-std=c++0x" }
+// { dg-do run { xfail *-*-* } }
+
+//
+// 2010-06-21  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests ERE against a C-string target, plus-sign match.
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re("(a+)", std::regex::extended);
+       const char target[] = "aa";
+       std::cmatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( re.mark_count() == 1 );
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target );
+       VERIFY( m.prefix().second == target );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target+sizeof(target) );
+       VERIFY( m.suffix().second == target+sizeof(target) );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target );
+       VERIFY( m[0].second == target+sizeof(target) );
+       VERIFY( m[0].matched == true );
+       VERIFY( m[1].first == target );
+       VERIFY( m[1].second == target+sizeof(target) );
+       VERIFY( m[1].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_questionmark.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_questionmark.cc
new file mode 100644 (file)
index 0000000..21abea4
--- /dev/null
@@ -0,0 +1,65 @@
+// { dg-options "-std=c++0x" }
+// { dg-do run { xfail *-*-* } }
+
+//
+// 2010-06-21  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests ERE against a C-string target, question-mark match.
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re("(aa?)", std::regex::extended);
+       char target[] = "a";
+       std::cmatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( re.mark_count() == 1 );
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target );
+       VERIFY( m.prefix().second == target );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target+sizeof(target) );
+       VERIFY( m.suffix().second == target+sizeof(target) );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target );
+       VERIFY( m[0].second == target+sizeof(target) );
+       VERIFY( m[0].matched == true );
+       VERIFY( m[1].first == target );
+       VERIFY( m[1].second == target+sizeof(target) );
+       VERIFY( m[1].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_any.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_any.cc
new file mode 100644 (file)
index 0000000..8d3716b
--- /dev/null
@@ -0,0 +1,60 @@
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-11  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests ERE against a std::string target.
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re(".*", std::regex::extended);
+       std::string target("aaba");
+       std::smatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target.begin() );
+       VERIFY( m.prefix().second == target.begin() );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target.end() );
+       VERIFY( m.suffix().second == target.end() );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target.begin() );
+       VERIFY( m[0].second == target.end() );
+       VERIFY( m[0].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_00_03.cc
new file mode 100644 (file)
index 0000000..a0a2e1f
--- /dev/null
@@ -0,0 +1,60 @@
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests ERE against a std::string target, exercising range {0,3}
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re("a{0,3}", std::regex::extended);
+       std::string target("aa");
+       std::smatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target.begin() );
+       VERIFY( m.prefix().second == target.begin() );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target.end() );
+       VERIFY( m.suffix().second == target.end() );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target.begin() );
+       VERIFY( m[0].second == target.end() );
+       VERIFY( m[0].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_01_03.cc
new file mode 100644 (file)
index 0000000..b50e076
--- /dev/null
@@ -0,0 +1,60 @@
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests ERE against a std::string target, exercising range {1,3}
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re("a{1,3}", std::regex::extended);
+       std::string target("aa");
+       std::smatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target.begin() );
+       VERIFY( m.prefix().second == target.begin() );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target.end() );
+       VERIFY( m.suffix().second == target.end() );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target.begin() );
+       VERIFY( m[0].second == target.end() );
+       VERIFY( m[0].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_02_03.cc
new file mode 100644 (file)
index 0000000..ca322a8
--- /dev/null
@@ -0,0 +1,61 @@
+// { dg-options "-std=c++0x" }
+// { dg-do run { xfail *-*-* } }
+
+//
+// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.11.2 regex_match
+// Tests ERE against a std::string target, exercising range {2,3}
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex  re("a{2,3}", std::regex::extended);
+       std::string target("aa");
+       std::smatch m;
+
+       VERIFY( std::regex_match(target, m, re) );
+
+       VERIFY( m.size()  == re.mark_count()+1 );
+       VERIFY( m.empty() == false );
+       VERIFY( m.prefix().first == target.begin() );
+       VERIFY( m.prefix().second == target.begin() );
+       VERIFY( m.prefix().matched == false );
+       VERIFY( m.suffix().first == target.end() );
+       VERIFY( m.suffix().second == target.end() );
+       VERIFY( m.suffix().matched == false );
+       VERIFY( m[0].first == target.begin() );
+       VERIFY( m[0].second == target.end() );
+       VERIFY( m[0].matched == true );
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc
new file mode 100644 (file)
index 0000000..1552818
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+// 2009-06-05  Stephen M. Webb  <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2009 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// C++0X [28.8.3] class template basic_regex assign()
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests assign operation from a C-style null-terminated-string.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  std::basic_regex<char> re;
+
+  const char* cs = "aab";
+  re.assign(cs);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc
new file mode 100644 (file)
index 0000000..1235302
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests basic_regex assign operator from a C-style null-terminated-string.  
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  const char* cs = "aab";
+  test_type re;
+  re = cs;
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc
new file mode 100644 (file)
index 0000000..64f5bca
--- /dev/null
@@ -0,0 +1,50 @@
+// { dg-options "-std=gnu++0x" }
+
+// 2010-07-07  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3](9-11) class template basic_regex assign
+
+#include <regex>
+#include <testsuite_hooks.h>
+#include <utility>
+
+// Tests assign operator of the basic_regex class for moveable rvalues.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex src_re("aaba");
+  const unsigned mark_count = src_re.mark_count();
+       const std::regex::flag_type flags = src_re.flags();
+
+       std::regex target_re;
+  
+  target_re.assign(std::move(src_re));
+  
+       VERIFY( target_re.flags() == flags );
+       VERIFY( target_re.mark_count() == mark_count );
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc
new file mode 100644 (file)
index 0000000..398b66c
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests assign operation from a Pascal-style counted-string.  
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  const char cs[] = "aab";
+  test_type re;
+  re.assign(cs, sizeof(cs)-1, std::regex_constants::basic);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc
new file mode 100644 (file)
index 0000000..cd741d5
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests range assign of the basic_regex class.  
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  char s[] = "a+b|c";
+  test_type re;
+  re.assign(s, s + 5);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc
new file mode 100644 (file)
index 0000000..afa071e
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <string>
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests C++ string assignment of the basic_regex class.  
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  std::string s("a*b");
+  test_type re;
+  re.assign(s);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc
new file mode 100644 (file)
index 0000000..724872d
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <string>
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests basic_regex assignment operator from a C++ string;
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  std::string s("a*b");
+  test_type re;
+  re = s;
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc
new file mode 100644 (file)
index 0000000..20ccab0
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests assign operation from a C-style null-terminated-string.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::basic_regex<wchar_t> test_type;
+
+  const wchar_t* cs = L"aab";
+  test_type re;
+  re.assign(cs);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc
new file mode 100644 (file)
index 0000000..8d8e965
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests basic_regex assign operator from a C-style null-terminated-string.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::basic_regex<wchar_t> test_type;
+
+  const wchar_t* cs = L"aab";
+  test_type re;
+  re = cs;
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc
new file mode 100644 (file)
index 0000000..9034a54
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests assign operation from a Pascal-style counted-string.  
+void test01()
+{
+  typedef std::basic_regex<wchar_t> test_type;
+
+  const wchar_t cs[] = L"aab";
+  test_type re;
+  re.assign(cs, sizeof(cs)-1, std::regex_constants::basic);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc
new file mode 100644 (file)
index 0000000..2e31a70
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests range assign of the basic_regex class.  
+void test01()
+{
+  typedef std::basic_regex<wchar_t> test_type;
+  bool test __attribute__((unused)) = true;
+
+  wchar_t s[] = L"a+b|c";
+  test_type re;
+  re.assign(s, s + 5);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc
new file mode 100644 (file)
index 0000000..156374a
--- /dev/null
@@ -0,0 +1,45 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <string>
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests C++ string assignment of the basic_regex class.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::basic_regex<wchar_t> test_type;
+
+  std::wstring s(L"a*b");
+  test_type re;
+  re.assign(s);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc
new file mode 100644 (file)
index 0000000..43704af
--- /dev/null
@@ -0,0 +1,45 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.3] class template basic_regex assign()
+
+#include <string>
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests basic_regex assignment operator from a C++ string;
+void test01()
+{
+       bool test __attribute__((unused)) = true;
+       typedef std::basic_regex<wchar_t> test_type;
+
+  std::wstring s(L"a*b");
+  test_type re;
+  re = s;
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc
new file mode 100644 (file)
index 0000000..b91453c
--- /dev/null
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2007, 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 7.8.2 basic_regex constructors
+
+#include <regex>
+
+void
+test01() 
+{ 
+  std::regex re("(a|b)*abb", std::regex::basic);
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc
new file mode 100644 (file)
index 0000000..2f011fe
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do run }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests Pascal-style counted-string constructor of the basic_regex class.  
+void test01()
+{
+  const char* cs = "aab";
+       std::regex re(cs, 3, std::regex::basic);
+
+  VERIFY( re.flags() & std::regex_constants::basic );
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc
new file mode 100644 (file)
index 0000000..89deef6
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-do run }
+// { dg-options "-std=c++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests Pascal-style counted-string constructor of the basic_regex class.  
+void test01()
+{
+       bool test __attribute__((unused)) = true;
+
+  const wchar_t* cs = L"aab";
+       std::wregex re(cs, 3, std::wregex::basic);
+
+  VERIFY( re.flags() & std::regex_constants::basic );
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/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
new file mode 100644 (file)
index 0000000..471c89c
--- /dev/null
@@ -0,0 +1,52 @@
+// { dg-options "-std=c++0x" }
+// { dg-do run { xfail *-*-* } }
+
+//
+// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.8.2 basic_regex ctor
+// Tests for invalid range expression
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       try
+       {
+               std::regex  re("a\\{1,2,3\\}", std::regex::basic);
+       }
+       catch (std::regex_error& ex)
+       {
+               VERIFY( ex.code() == std::regex_constants::error_badbrace );
+       }
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc
new file mode 100644 (file)
index 0000000..ac87e4d
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests C-style null-terminated-string constructor of the basic_regex class.  
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  const char* cs = "aab";
+  test_type re(cs);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc
new file mode 100644 (file)
index 0000000..8b93fe7
--- /dev/null
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2007, 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 7.8.2 basic_regex constructors
+
+#include <regex>
+
+void
+test01() 
+{ 
+  std::regex re("(a|b)*abb", std::regex::awk);
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc
new file mode 100644 (file)
index 0000000..6c72736
--- /dev/null
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2007, 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 7.8.2 basic_regex constructors
+
+#include <regex>
+
+void
+test01() 
+{ 
+  std::regex re("(a|b)*abb");
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc
new file mode 100644 (file)
index 0000000..f38a9b8
--- /dev/null
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2007, 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 7.8.2 basic_regex constructors
+
+#include <regex>
+
+void
+test01() 
+{ 
+  std::regex re("(a|b)*abb", std::regex::egrep);
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc
new file mode 100644 (file)
index 0000000..458f6d2
--- /dev/null
@@ -0,0 +1,39 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2007, 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 7.8.2 basic_regex constructors
+
+#include <regex>
+
+void
+test01() 
+{ 
+  using std::regex;
+
+  regex re("(a|b)*abb", regex::grep);
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc
new file mode 100644 (file)
index 0000000..b7c6f41
--- /dev/null
@@ -0,0 +1,47 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests default constructor of the basic_regex class.  
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  // default constructor
+  test_type re;
+  
+  // Check for required typedefs
+  typedef test_type::value_type  value_type;
+  typedef test_type::flag_type   flag_type;
+  typedef test_type::locale_type locale_type;
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc
new file mode 100644 (file)
index 0000000..027a927
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests range constructor of the basic_regex class.  
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  char s[] = "a+b|c";
+  test_type re(s, s + 5);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc
new file mode 100644 (file)
index 0000000..4ed5f92
--- /dev/null
@@ -0,0 +1,45 @@
+// { dg-options "-std=c++0x" }
+
+// 2010-07-07  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2](11) class template basic_regex constructors
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests copy constructor of the basic_regex class.  
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  test_type src_re("aaba");
+
+  test_type target_re(src_re);
+  
+       VERIFY( target_re.flags() == src_re.flags() );
+       VERIFY( target_re.mark_count() == src_re.mark_count() );
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc
new file mode 100644 (file)
index 0000000..691b8c7
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2007, 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 7.8.2 basic_regex constructors
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01() 
+{ 
+  bool test __attribute__((unused)) = true;
+
+  std::regex re("(wee|week)(knights|night)", std::regex::extended);
+  
+  VERIFY( re.flags() == std::regex::extended );
+  VERIFY( re.mark_count() == 0 );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/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
new file mode 100644 (file)
index 0000000..036321f
--- /dev/null
@@ -0,0 +1,52 @@
+// { dg-options "-std=c++0x" }
+// { dg-do run { xfail *-*-* } }
+
+//
+// 2010-06-16  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.8.2 basic_regex ctor
+// Tests for invalid range expression
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       try
+       {
+               std::regex  re("a{1,2,3}", std::regex::extended);
+       }
+       catch (std::regex_error& ex)
+       {
+               VERIFY( ex.code() == std::regex_constants::error_badbrace );
+       }
+}
+
+
+int
+main()
+{ 
+  test01();
+  return 0;
+}
+
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc
new file mode 100644 (file)
index 0000000..ba05696
--- /dev/null
@@ -0,0 +1,49 @@
+// { dg-options "-std=gnu++0x" }
+
+// 2010-07-07  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2](12-14) class template basic_regex constructors
+
+#include <regex>
+#include <testsuite_hooks.h>
+#include <utility>
+
+// Tests move constructor of the basic_regex class.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::basic_regex<char> test_type;
+
+  test_type src_re("aaba");
+  const unsigned mark_count = src_re.mark_count();
+       const test_type::flag_type flags = src_re.flags();
+
+  test_type target_re = std::move(src_re);
+  
+       VERIFY( target_re.flags() == flags );
+       VERIFY( target_re.mark_count() == mark_count );
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc
new file mode 100644 (file)
index 0000000..f65d783
--- /dev/null
@@ -0,0 +1,54 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <string>
+#include <regex>
+#include <testsuite_hooks.h>
+#include <testsuite_allocator.h>
+
+// Tests C++ string constructor of the basic_regex class.  
+void test01()
+{
+  typedef std::basic_regex<char> test_type;
+
+  std::string s("a*b");
+  test_type re(s);
+}
+
+void test02()
+{
+  typedef std::basic_regex<char> test_type;
+  typedef __gnu_test::tracker_allocator<char> alloc_type;
+
+  std::basic_string<char, std::char_traits<char>, alloc_type> s("a*b");
+  test_type re(s);
+}
+
+int
+main()
+{ 
+  test01();
+  test02();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc
new file mode 100644 (file)
index 0000000..b715195
--- /dev/null
@@ -0,0 +1,56 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <string>
+#include <regex>
+#include <testsuite_hooks.h>
+#include <testsuite_allocator.h>
+
+// Tests C++ string constructor of the basic_regex class.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::basic_regex<wchar_t> test_type;
+
+  std::wstring s(L"a*b");
+  test_type re(s);
+}
+
+void test02()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::basic_regex<wchar_t> test_type;
+  typedef __gnu_test::tracker_allocator<wchar_t> alloc_type;
+
+  std::basic_string<wchar_t, std::char_traits<wchar_t>, alloc_type> s(L"a*b");
+  test_type re(s);
+}
+
+int
+main()
+{ 
+  test01();
+  test02();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc
new file mode 100644 (file)
index 0000000..4dabf39
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests C-style null-terminated-string constructor of the basic_regex class.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::basic_regex<wchar_t> test_type;
+
+  const wchar_t* cs = L"aab";
+  test_type re(cs);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc
new file mode 100644 (file)
index 0000000..a0f4174
--- /dev/null
@@ -0,0 +1,48 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests default constructor of the basic_regex class.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::basic_regex<wchar_t> test_type;
+
+  // default constructor
+  test_type re;
+  
+  // Check for required typedefs
+  typedef test_type::value_type  value_type;
+  typedef test_type::flag_type   flag_type;
+  typedef test_type::locale_type locale_type;
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc
new file mode 100644 (file)
index 0000000..efc0597
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// [28.8.2] class template basic_regex constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests range constructor of the basic_regex class.  
+void test01()
+{
+       bool test __attribute__((unused)) = true;
+  typedef std::basic_regex<wchar_t> test_type;
+
+  wchar_t s[] = L"a+b|c";
+  test_type re(s, s + 5);
+}
+
+int
+main()
+{ 
+  test01();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/regex.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/regex.cc
new file mode 100644 (file)
index 0000000..8a803ed
--- /dev/null
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+// 2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2007, 2009, 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 7.4 typedef std::regex
+
+#include <regex>
+
+void
+test01() 
+{ 
+  std::regex re;
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/requirements/constexpr_data.cc
new file mode 100644 (file)
index 0000000..5e6cc2e
--- /dev/null
@@ -0,0 +1,73 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// Copyright (C) 2010, 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <regex>
+#include <testsuite_common_types.h>
+
+namespace __gnu_test
+{
+  struct constexpr_member_data
+  {
+    template<typename _Ttesttype>
+      void
+      operator()()
+      {
+       struct _Concept
+       {
+         void __constraint()
+         {
+           constexpr auto v1 __attribute__((unused))
+             = _Ttesttype::icase;
+           constexpr auto v2 __attribute__((unused))
+             = _Ttesttype::nosubs;
+           constexpr auto v3 __attribute__((unused))
+             = _Ttesttype::optimize;
+           constexpr auto v4 __attribute__((unused))
+             = _Ttesttype::collate;
+           constexpr auto v5 __attribute__((unused))
+             = _Ttesttype::ECMAScript;
+           constexpr auto v6 __attribute__((unused))
+             = _Ttesttype::basic;
+           constexpr auto v7 __attribute__((unused))
+             = _Ttesttype::extended;
+           constexpr auto v8 __attribute__((unused))
+             = _Ttesttype::awk;
+           constexpr auto v9 __attribute__((unused))
+             = _Ttesttype::grep;
+           constexpr auto v10 __attribute__((unused))
+             = _Ttesttype::egrep;
+         }
+       };
+
+       _Concept c;
+       c.__constraint();
+      }
+  };
+}
+
+int main()
+{
+  __gnu_test::constexpr_member_data test;
+  test.operator()<std::regex>();
+#ifdef _GLIBCXX_USE_WCHAR_T
+  test.operator()<std::wregex>();
+#endif
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/constants/error_type.cc b/libstdc++-v3/testsuite/28_regex/constants/error_type.cc
new file mode 100644 (file)
index 0000000..1841a46
--- /dev/null
@@ -0,0 +1,54 @@
+// { dg-options "-std=c++0x" }
+// { dg-do compile }
+//
+// 2009-06-17  Stephen M. Webb  <stephen.webb@xandros.com>
+//
+// Copyright (C) 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.5.3 
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex_constants::error_type err __attribute__((unused));
+
+       err = std::regex_constants::error_collate;
+       err = std::regex_constants::error_ctype;
+       err = std::regex_constants::error_escape;
+       err = std::regex_constants::error_backref;
+       err = std::regex_constants::error_brack;
+       err = std::regex_constants::error_paren;
+       err = std::regex_constants::error_brace;
+       err = std::regex_constants::error_badbrace;
+       err = std::regex_constants::error_range;
+       err = std::regex_constants::error_space;
+       err = std::regex_constants::error_badrepeat;
+       err = std::regex_constants::error_complexity;
+       err = std::regex_constants::error_stack;
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc b/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc
new file mode 100644 (file)
index 0000000..10635ff
--- /dev/null
@@ -0,0 +1,53 @@
+// { dg-options "-std=c++0x" }
+// { dg-do compile }
+//
+// 2009-06-17  Stephen M. Webb  <stephen.webb@xandros.com>
+//
+// Copyright (C) 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.5.1 
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex_constants::match_flag_type flag = std::regex_constants::match_default;
+
+       flag |= std::regex_constants::match_not_bol;
+       flag |= std::regex_constants::match_not_eol;
+       flag |= std::regex_constants::match_not_bow;
+       flag |= std::regex_constants::match_not_eow;
+       flag |= std::regex_constants::match_any;
+       flag |= std::regex_constants::match_not_null;
+       flag |= std::regex_constants::match_continuous;
+       flag |= std::regex_constants::match_prev_avail;
+       flag |= std::regex_constants::format_default;
+       flag |= std::regex_constants::format_sed;
+       flag |= std::regex_constants::format_no_copy;
+       flag |= std::regex_constants::format_first_only;
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc b/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc
new file mode 100644 (file)
index 0000000..1f9876c
--- /dev/null
@@ -0,0 +1,91 @@
+// { dg-options "-std=c++0x" }
+// { dg-do compile }
+//
+// 2009-06-17  Stephen M. Webb  <stephen.webb@xandros.com>
+//
+// Copyright (C) 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.5.1 
+
+#include <regex>
+
+void
+test01()
+{
+  std::regex_constants::syntax_option_type option { };
+  option = option | std::regex_constants::icase;
+  option = option | std::regex_constants::nosubs;
+  option = option | std::regex_constants::optimize;
+  option = option | std::regex_constants::collate;
+  option = option | std::regex_constants::ECMAScript;
+  option = option | std::regex_constants::basic;
+  option = option | std::regex_constants::extended;
+  option = option | std::regex_constants::awk;
+  option = option | std::regex_constants::grep;
+  option = option | std::regex_constants::egrep;
+}
+
+void
+test02()
+{
+  std::regex_constants::syntax_option_type option { };
+  option = option & std::regex_constants::icase;
+  option = option & std::regex_constants::nosubs;
+  option = option & std::regex_constants::optimize;
+  option = option & std::regex_constants::collate;
+  option = option & std::regex_constants::ECMAScript;
+  option = option & std::regex_constants::basic;
+  option = option & std::regex_constants::extended;
+  option = option & std::regex_constants::awk;
+  option = option & std::regex_constants::grep;
+  option = option & std::regex_constants::egrep;
+}
+
+void
+test03()
+{
+  std::regex_constants::syntax_option_type option { };
+  option = ~std::regex_constants::icase;
+  option = ~std::regex_constants::nosubs;
+  option = ~std::regex_constants::optimize;
+  option = ~std::regex_constants::collate;
+  option = ~std::regex_constants::ECMAScript;
+  option = ~std::regex_constants::basic;
+  option = ~std::regex_constants::extended;
+  option = ~std::regex_constants::awk;
+  option = ~std::regex_constants::grep;
+  option = ~std::regex_constants::egrep;
+  option = option;
+}
+
+void
+test04_constexpr()
+{
+  using namespace std::regex_constants;
+  constexpr auto a1 __attribute__((unused)) = icase | awk;
+  constexpr auto a2 __attribute__((unused)) = icase & awk;
+  constexpr auto a3 __attribute__((unused)) = ~grep;
+}
+
+int main()
+{
+  test01();
+  test02();
+  test03();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc
new file mode 100644 (file)
index 0000000..e8ddb77
--- /dev/null
@@ -0,0 +1,23 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++98" }
+
+// Copyright (C) 2007, 2009, 2010 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <regex>  // { dg-excess-errors "In file included from" }
+
+
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc
new file mode 100644 (file)
index 0000000..2de4a0d
--- /dev/null
@@ -0,0 +1,35 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.12.1 Class template regex_iterator
+
+#include <regex>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+  std::regex_iterator<char*> it;
+       std::cregex_iterator cit;
+       std::sregex_iterator sit;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc
new file mode 100644 (file)
index 0000000..33fb5ba
--- /dev/null
@@ -0,0 +1,35 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.12.1 Class template regex_iterator
+
+#include <regex>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+  std::regex_iterator<wchar_t*> it;
+       std::wcregex_iterator cit;
+       std::wsregex_iterator sit;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc
new file mode 100644 (file)
index 0000000..8ad8899
--- /dev/null
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.12.1 Class template regex_iterator
+
+#include <regex>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::regex_iterator<char*> it;
+
+  typedef it::regex_type         regex_type;
+  typedef it::value_type         value_type;
+  typedef it::difference_type    difference_type;
+  typedef it::pointer            pointer;
+  typedef it::reference          reference;
+  typedef it::iterator_category  iterator_category;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc
new file mode 100644 (file)
index 0000000..5105c7d
--- /dev/null
@@ -0,0 +1,35 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.12.2 Class template regex_token_iterator
+
+#include <regex>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+  std::regex_token_iterator<char*> it;
+       std::cregex_token_iterator cit;
+       std::sregex_token_iterator sit;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc
new file mode 100644 (file)
index 0000000..fe918c8
--- /dev/null
@@ -0,0 +1,35 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+//
+// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.12.2 Class template regex_token_iterator
+
+#include <regex>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+  std::regex_token_iterator<wchar_t*> it;
+       std::wcregex_token_iterator cit;
+       std::wsregex_token_iterator sit;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc
new file mode 100644 (file)
index 0000000..d765ab2
--- /dev/null
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.12.2 Class template regex_token_iterator
+
+#include <regex>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::regex_token_iterator<char*> it;
+
+  typedef it::regex_type         regex_type;
+  typedef it::value_type         value_type;
+  typedef it::difference_type    difference_type;
+  typedef it::pointer            pointer;
+  typedef it::reference          reference;
+  typedef it::iterator_category  iterator_category;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc
new file mode 100644 (file)
index 0000000..4c897d7
--- /dev/null
@@ -0,0 +1,52 @@
+// { dg-options "-std=c++0x" }
+
+// 2009-06-10  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2009 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// C++0X [28.10.1] class template match_results constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests default constructor of the match_result class.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::cmatch cm;
+  VERIFY( cm.size() == 0 );
+  VERIFY( cm.str() == std::cmatch::string_type() );
+}
+
+void test02()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::smatch sm;
+  VERIFY( sm.size() == 0 );
+  VERIFY( sm.str() == std::smatch::string_type() );
+}
+
+int
+main()
+{ 
+  test01();
+  test02();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc
new file mode 100644 (file)
index 0000000..f8b3d45
--- /dev/null
@@ -0,0 +1,52 @@
+// { dg-options "-std=c++0x" }
+
+// 2009-06-05  Stephen M. Webb  <stephen.webb@bregmasoft.com>
+//
+// Copyright (C) 2009 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// C++0X [28.10.1] class template match_results constructor
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+// Tests default constructor of the match_result class.  
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::wcmatch cm;
+  VERIFY( cm.size() == 0 );
+  VERIFY( cm.str() == std::wcmatch::string_type() );
+}
+
+void test02()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::wsmatch sm;
+  VERIFY( sm.size() == 0 );
+  VERIFY( sm.str() == std::wsmatch::string_type() );
+}
+
+int
+main()
+{ 
+  test01();
+  test02();
+  return 0;
+};
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc b/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc
new file mode 100644 (file)
index 0000000..02bdcda
--- /dev/null
@@ -0,0 +1,44 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-10  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.10 Class template sub_match
+
+#include <regex>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+  typedef std::match_results<char*> mr;
+
+  typedef mr::value_type       value_type;
+  typedef mr::const_reference  const_reference;
+  typedef mr::reference        reference;
+  typedef mr::const_iterator   const_iterator;
+  typedef mr::iterator         iterator;
+  typedef mr::difference_type  difference_type;
+  typedef mr::size_type        size_type;
+  typedef mr::allocator_type   allocator_type;
+  typedef mr::char_type        char_type;
+  typedef mr::string_type      string_type;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc b/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc
new file mode 100644 (file)
index 0000000..04fd712
--- /dev/null
@@ -0,0 +1,49 @@
+// { dg-options "-std=c++0x" }
+// { dg-do compile }
+//
+// 2009-06-17  Stephen M. Webb  <stephen.webb@xandros.com>
+//
+// Copyright (C) 2009 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.6 [re.badexp]
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+       std::regex_error error(std::regex_constants::error_collate);
+       VERIFY(error.code() == std::regex_constants::error_collate);
+
+       try
+       {
+               throw error;
+       }
+       catch (std::runtime_error& ex)
+       {
+       }
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc b/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..072d5d0
--- /dev/null
@@ -0,0 +1,38 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-02-17  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.3 Requirements [re.req]
+// 28.2 (4) Table 127 - Regular expression traits class requirements
+
+#include <regex>
+
+void
+test01()
+{
+  typedef std::regex_traits<char> traits;
+
+  typedef traits::char_type       char_type;
+  typedef traits::string_type     string_type;
+  typedef traits::locale_type     locale_type;
+  typedef traits::char_class_type char_class_type;
+}
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc b/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc
new file mode 100644 (file)
index 0000000..6beb9c5
--- /dev/null
@@ -0,0 +1,49 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-09  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.9.1 [re.submatch.members] sub_match members
+
+#include <regex>
+#include <string>
+#include <testsuite_hooks.h>
+
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  typedef char                          value_type;
+  typedef std::basic_string<value_type> string_type;
+  typedef std::sub_match<value_type*>   sub_match_type;
+  value_type test_data[] = "cabbage";
+
+       sub_match_type sm;
+       sm.first = test_data + 0;
+       sm.second  = test_data + sizeof(test_data)/sizeof(value_type);
+       sm.matched = true;
+
+       string_type sm_string = sm;
+
+       VERIFY( sm_string == string_type(test_data) );
+}
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc
new file mode 100644 (file)
index 0000000..6e29ac8
--- /dev/null
@@ -0,0 +1,49 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-09  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.9.1 [re.submatch.members] sub_match members
+
+#include <regex>
+#include <string>
+#include <testsuite_hooks.h>
+
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  typedef wchar_t                       value_type;
+  typedef std::basic_string<value_type> string_type;
+  typedef std::sub_match<value_type*>   sub_match_type;
+  value_type test_data[] = L"cabbage";
+
+       sub_match_type sm;
+       sm.first = test_data + 0;
+       sm.second  = test_data + sizeof(test_data)/sizeof(value_type);
+       sm.matched = true;
+
+       string_type sm_string = sm;
+
+       VERIFY( sm_string == string_type(test_data) );
+}
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/length.cc b/libstdc++-v3/testsuite/28_regex/sub_match/length.cc
new file mode 100644 (file)
index 0000000..fc12b92
--- /dev/null
@@ -0,0 +1,49 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-09  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.9.1 [re.submatch.members] sub_match members
+
+#include <regex>
+#include <testsuite_hooks.h>
+
+
+void
+test01()
+{
+  bool test __attribute__((unused)) = true;
+
+  typedef std::sub_match<const char*> sm_t;
+  const char*           test_data = "cabbage";
+  sm_t::difference_type test_len = 3;
+
+       sm_t sm1;
+       sm1.first   = test_data + 0;
+       sm1.second  = test_data + test_len;
+       sm1.matched = true;
+
+       sm_t sm2;
+       sm2.matched = false;
+
+       VERIFY( sm1.length() == test_len );
+       VERIFY( sm2.length() == 0 );
+}
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc b/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc
new file mode 100644 (file)
index 0000000..c150da0
--- /dev/null
@@ -0,0 +1,38 @@
+// { dg-do compile }
+// { dg-options "-std=c++0x" }
+
+//
+// 2010-06-07  Stephen M. Webb <stephen.webb@bregmasoft.ca>
+//
+// Copyright (C) 2010 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.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+// 28.9 Class template sub_match
+
+#include <regex>
+
+
+void
+test01()
+{
+  typedef std::sub_match<char*> sm;
+
+  typedef sm::value_type       value_type;
+  typedef sm::difference_type  difference_type;
+  typedef sm::iterator         iterator;
+  typedef sm::string_type      string_type;
+}