summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/bits
diff options
context:
space:
mode:
authortimshen <timshen@138bc75d-0d04-0410-961f-82ee72b054a4>2014-01-21 19:54:03 +0000
committertimshen <timshen@138bc75d-0d04-0410-961f-82ee72b054a4>2014-01-21 19:54:03 +0000
commitfd1e8e6a8ffcc040290aff29b129d0346b9c05d2 (patch)
treee10e5ddc41df84347c547d00a76777c63ab6e931 /libstdc++-v3/include/bits
parentea7bcfa14191be2fa6e088e88b2878015153caab (diff)
downloadppe42-gcc-fd1e8e6a8ffcc040290aff29b129d0346b9c05d2.tar.gz
ppe42-gcc-fd1e8e6a8ffcc040290aff29b129d0346b9c05d2.zip
2014-01-21 Tim Shen <timshen91@gmail.com>
* include/bits/regex.tcc: Remove incorrect `nosubs` handling. * include/bits/regex_scanner.tcc: Handle `nosubs` correctly. * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206906 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/bits')
-rw-r--r--libstdc++-v3/include/bits/regex.tcc2
-rw-r--r--libstdc++-v3/include/bits/regex_scanner.tcc2
2 files changed, 2 insertions, 2 deletions
diff --git a/libstdc++-v3/include/bits/regex.tcc b/libstdc++-v3/include/bits/regex.tcc
index 1ceac602344..73f55dfc5f6 100644
--- a/libstdc++-v3/include/bits/regex.tcc
+++ b/libstdc++-v3/include/bits/regex.tcc
@@ -126,8 +126,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__suf.second = __e;
__suf.matched = (__suf.first != __suf.second);
}
- if (__re.flags() & regex_constants::nosubs)
- __res.resize(3);
}
return __ret;
}
diff --git a/libstdc++-v3/include/bits/regex_scanner.tcc b/libstdc++-v3/include/bits/regex_scanner.tcc
index d954d0764e2..5332d2eff84 100644
--- a/libstdc++-v3/include/bits/regex_scanner.tcc
+++ b/libstdc++-v3/include/bits/regex_scanner.tcc
@@ -139,6 +139,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
else
__throw_regex_error(regex_constants::error_paren);
}
+ else if (_M_flags & regex_constants::nosubs)
+ _M_token = _S_token_subexpr_no_group_begin;
else
_M_token = _S_token_subexpr_begin;
}
OpenPOWER on IntegriCloud