aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Shen <timshen91@gmail.com>2013-09-28 13:41:09 +0000
committerTim Shen <timshen@gcc.gnu.org>2013-09-28 13:41:09 +0000
commit8d60fca50e7ccdfcc3c09e39068c1a1eb3a2e7cf (patch)
treef36e6d9017e9501e86312acd8bd7cb8e6574a5c7
parentc3284718808ca6da39d16507f5d29c34e2795cc7 (diff)
downloadgcc-8d60fca50e7ccdfcc3c09e39068c1a1eb3a2e7cf.zip
gcc-8d60fca50e7ccdfcc3c09e39068c1a1eb3a2e7cf.tar.gz
gcc-8d60fca50e7ccdfcc3c09e39068c1a1eb3a2e7cf.tar.bz2
regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix): Let ordinary char escaping in POSIX be valid.
2013-09-28 Tim Shen <timshen91@gmail.com> * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix): Let ordinary char escaping in POSIX be valid. * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this change. From-SVN: r203005
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/include/bits/regex_scanner.tcc9
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc3
3 files changed, 16 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ead095e..e240505 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2013-09-28 Tim Shen <timshen91@gmail.com>
+
+ * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
+ Let ordinary char escaping in POSIX be valid.
+ * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
+ change.
+
2013-09-27 François Dumont <fdumont@gcc.gnu.org>
* include/bits/predefined_ops.h: New.
diff --git a/libstdc++-v3/include/bits/regex_scanner.tcc b/libstdc++-v3/include/bits/regex_scanner.tcc
index e0dff90..fc82738 100644
--- a/libstdc++-v3/include/bits/regex_scanner.tcc
+++ b/libstdc++-v3/include/bits/regex_scanner.tcc
@@ -457,7 +457,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_value.assign(1, __c);
}
else
- __throw_regex_error(regex_constants::error_escape);
+ {
+#ifdef __STRICT_ANSI__
+ __throw_regex_error(regex_constants::error_escape);
+#else
+ _M_token = _S_token_ord_char;
+ _M_value.assign(1, __c);
+#endif
+ }
++_M_current;
}
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc
index 68fd56a..d005dc0 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc
@@ -1,5 +1,4 @@
-// { dg-options "-std=c++0x" }
-// { dg-do run { xfail *-*-* } }
+// { dg-options "-std=gnu++11" }
// 2012-08-20 Benjamin Kosnik <bkoz@redhat.com>
//