02_match: To...
authorBenjamin Kosnik <bkoz@gcc.gnu.org>
Mon, 25 Jun 2012 06:01:13 +0000 (06:01 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Mon, 25 Jun 2012 06:01:13 +0000 (06:01 +0000)
2012-06-24  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/28_regex/algorithms/02_match: To...
* testsuite/28_regex/algorithms/match: ...this.
* testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
duplicate.

From-SVN: r188923

22 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_01.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_00_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_01_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/basic/string_range_02_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_plus.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/cstring_questionmark.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_any.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_00_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_01_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/02_match/extended/string_range_02_03.cc [deleted file]
libstdc++-v3/testsuite/28_regex/algorithms/match/basic/string_01.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/match/basic/string_range_00_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/match/basic/string_range_01_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/match/basic/string_range_02_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/match/extended/cstring_plus.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/match/extended/cstring_questionmark.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/match/extended/string_any.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/match/extended/string_range_00_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/match/extended/string_range_01_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/algorithms/match/extended/string_range_02_03.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc [deleted file]

index febf2a8694c29bcfde54fb5989abfb679d564d59..7ad0f82900478f086f54d01f2174c8be7b5da822 100644 (file)
@@ -1,3 +1,10 @@
+2012-06-24  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * testsuite/28_regex/algorithms/02_match: To...
+       * testsuite/28_regex/algorithms/match: ...this.
+       * testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
+       duplicate.
+
 2012-06-18  Jörg Sonnenberger <joerg@britannica.bec.de>
            Jonathan Wakely  <jwakely.gcc@gmail.com>
 
 2012-04-12   Jeffrey Yasskin  <jyasskin@google.com>
 
        PR libstdc++/52822
-        * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
-        (__find_if_not_n): Like __find_if_not, but works on and updates a
+       * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
+       (__find_if_not_n): Like __find_if_not, but works on and updates a
        counted range instead of a bounded range.
-        (stable_partition): Guarantee !__pred(*__first) in call to
+       (stable_partition): Guarantee !__pred(*__first) in call to
        __stable_partition_adaptive() or __inplace_stable_partition().
-        (__stable_partition_adaptive): Use new precondition to avoid
+       (__stable_partition_adaptive): Use new precondition to avoid
        moving/copying objects onto themselves.  Guarantee new
        precondition to recursive calls.
-        (__inplace_stable_partition): Use new precondition to simplify
+       (__inplace_stable_partition): Use new precondition to simplify
        base case, remove __last parameter.  Guarantee new precondition to
        recursive calls.
-        * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
+       * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
        Test a sequence that starts with a value matching the predicate.
-        * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
+       * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
        vectors, which have a destructive self-move-assignment.
 
 2012-04-12  Andreas Schwab  <schwab@linux-m68k.org>
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
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/algorithms/02_match/basic/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/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/algorithms/02_match/basic/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/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/algorithms/02_match/basic/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/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/algorithms/02_match/extended/cstring_plus.cc b/libstdc++-v3/testsuite/28_regex/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/algorithms/02_match/extended/cstring_questionmark.cc b/libstdc++-v3/testsuite/28_regex/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/algorithms/02_match/extended/string_any.cc b/libstdc++-v3/testsuite/28_regex/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/algorithms/02_match/extended/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/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/algorithms/02_match/extended/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/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/algorithms/02_match/extended/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/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/algorithms/match/basic/string_01.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/match/basic/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/match/basic/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/match/basic/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/match/extended/cstring_plus.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/match/extended/cstring_questionmark.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/match/extended/string_any.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/match/extended/string_range_00_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/match/extended/string_range_01_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/match/extended/string_range_02_03.cc b/libstdc++-v3/testsuite/28_regex/algorithms/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/headers/04_header/regex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/28_regex/headers/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" }
-
-