re PR libstdc++/71500 (regex::icase only works on first character in a range)
authorTim Shen <timshen@google.com>
Thu, 1 Dec 2016 03:03:55 +0000 (03:03 +0000)
committerTim Shen <timshen@gcc.gnu.org>
Thu, 1 Dec 2016 03:03:55 +0000 (03:03 +0000)
commit974afa584b18a3713eb4ada1b5d657ca0f94f498
tree99b6e42fe5cfb1174faef0662f47640649cba2a5
parent0f09127808018c479214478d3f79e0ac40a3c55b
re PR libstdc++/71500 (regex::icase only works on first character in a range)

PR libstdc++/71500
* include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
when the syntax is not specified.
* include/bits/regex_compiler.h (_RegexTranslator,
_RegexTranslatorBase): Partially support icase in ranges.
* include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
Refactor _M_apply to make the control flow easier to follow, and
call _M_translator._M_match_range as added previously.
* testsuite/28_regex/traits/char/icase.cc: Add new tests.
* testsuite/28_regex/traits/char/user_defined.cc: Add new tests.

From-SVN: r243093
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/regex.h
libstdc++-v3/include/bits/regex_compiler.h
libstdc++-v3/include/bits/regex_compiler.tcc
libstdc++-v3/testsuite/28_regex/traits/char/icase.cc [new file with mode: 0644]
libstdc++-v3/testsuite/28_regex/traits/char/user_defined.cc