diff options
author | Tim Shen <timshen91@gmail.com> | 2013-09-28 13:41:09 +0000 |
---|---|---|
committer | Tim Shen <timshen@gcc.gnu.org> | 2013-09-28 13:41:09 +0000 |
commit | 8d60fca50e7ccdfcc3c09e39068c1a1eb3a2e7cf (patch) | |
tree | f36e6d9017e9501e86312acd8bd7cb8e6574a5c7 | |
parent | c3284718808ca6da39d16507f5d29c34e2795cc7 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/regex_scanner.tcc | 9 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc | 3 |
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> // |