regex.tcc: Remove incorrect nosubs
handling.
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. From-SVN: r206906
This commit is contained in:
parent
6ff956e3c2
commit
8f7082f5ea
@ -1,3 +1,9 @@
|
||||
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.
|
||||
|
||||
2014-01-21 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/56267
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
// { dg-options "-std=c++0x" }
|
||||
// { dg-do compile }
|
||||
//
|
||||
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
|
||||
//
|
||||
@ -23,6 +22,7 @@
|
||||
// 28.5.1
|
||||
|
||||
#include <regex>
|
||||
#include <testsuite_hooks.h>
|
||||
|
||||
void
|
||||
test01()
|
||||
@ -82,10 +82,21 @@ test04_constexpr()
|
||||
constexpr auto a3 __attribute__((unused)) = ~grep;
|
||||
}
|
||||
|
||||
void
|
||||
test05()
|
||||
{
|
||||
using namespace std;
|
||||
using namespace regex_constants;
|
||||
regex re("((a)(s))", nosubs | ECMAScript);
|
||||
VERIFY(re.mark_count() == 0);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
test01();
|
||||
test02();
|
||||
test03();
|
||||
test04_constexpr();
|
||||
test05();
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user