summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/testsuite/28_regex/algorithms
Commit message (Collapse)AuthorAgeFilesLines
* PR libstdc++/63199timshen2014-10-021-0/+69
| | | | | | | | | | * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign, basic_regex::swap): Fix dangling _M_traits reference problem. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@215805 138bc75d-0d04-0410-961f-82ee72b054a4
* Backport from mainlineredi2014-06-031-0/+10
| | | | | | | | | | | | | | | 2014-05-20 Tim Shen <timshen91@gmail.com> PR libstdc++/61227 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_character_class): Add negative character class support. * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply): Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: Add more testcases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@211192 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-02-26 Tim Shen <timshen91@gmail.com>timshen2014-02-261-0/+49
| | | | | | | | | | | * include/bits/regex.tcc (match_results<>::format, regex_replace<>): Update __out after calling std::copy. * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Add testcase. * testsuite/28_regex/match_results/format.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208179 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in libstdc++-v3/rsandifo2014-01-0236-36/+36
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206301 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-26 Tim Shen <timshen91@gmail.com>timshen2013-10-263-75/+53
| | | | | | | | | | | | | | | | | | | | | * include/bits/regex.h: Remove unnecessary friends. * include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor to here. * include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor; they are merged into _Executor. Eliminate quantifier tracking part, so it's faster. * include/bits/regex_executor.tcc: Implement _Executor. * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New. * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust duplicate testcases. * testsuite/performance/28_regex/split.h: New. * testsuite/performance/28_regex/split_bfs.cc: New. * testsuite/util/testsuite_regex.h: Adjust behavior of two-executors agreement judger: do not compare match_results when executor return false. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204093 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-18 Tim Shen <timshen91@gmail.com>timshen2013-10-181-0/+50
| | | | | | | | | | | | * include/bits/regex_scanner.tcc: (_Scanner<>::_M_scan_normal, _Scanner<>::_M_eat_escape_ecma, _Scanner<>::_M_eat_escape_posix, _Scanner<>::_M_eat_escape_awk): Narrow character before finding in maps. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203827 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-06 Tim Shen <timshen91@gmail.com>timshen2013-10-0632-138/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator): Fix compile error. * include/bits/regex.tcc: (regex_replace<>): Remove default parameter. 2013-10-06 Tim Shen <timshen91@gmail.com> * include/bits/regex.h (__regex_algo_impl<>, regex_match<>, regex_search<>): New abstract function for regex_match and regex_search. * include/bits/regex.tcc (__regex_algo_impl<>): Implement. * include/bits/regex_executor.h (_Executor<>::_M_lookahead, _DFSExecutor<>::_M_clone, _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to use. * include/bits/regex_executor.tcc (__get_executor<>): Update the definition to support __policy. * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use *_debug. * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same. * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same. * testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc: Same. * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc: Same. * testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/ string_bracket_01.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/ string_questionmark.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_00_03.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_01_03.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_02_03.cc: Same. * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: Same. * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same. * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same. * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same. * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same. * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same. * testsuite/28_regex/match_results/format.cc: Same. * testsuite/util/testsuite_regex.h (regex_match_debug<>, regex_search_debug<>): Implement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203231 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-02 Tim Shen <timshen91@gmail.com>timshen2013-10-021-0/+5
| | | | | | | | | | | | * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly. * include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()): Add _M_equiv_set support. * testsuite/28_regex/algorithms/regex_match/extended/ cstring_bracket_01.cc: Add new "[[=a=]]" testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203117 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-01 Tim Shen <timshen91@gmail.com>timshen2013-10-011-0/+98
| | | | | | | | | | PR libstdc++/58576 * include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy) (_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch. * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203067 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-26 Tim Shen <timshen91@gmail.com>timshen2013-09-262-7/+5
| | | | | | | | | | | | | | | | * regex_error.h: Remove _S_error_last to follow the standard. * regex_scanner.tcc: (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to error_badbrace. (_Scanner<>::_M_eat_escape_posix): Extended doesn't support back-reference. * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Move here from ../../extended. * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202958 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-24 Tim Shen <timshen91@gmail.com>timshen2013-09-242-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/Makefile.am: Add regex.tcc. * include/Makefile.in: Regenerate. * include/bits/regex.h: Remove definitions to regex.tcc. * include/bits/regex.tcc: New. (match_results::format, regex_replace): Implement; * include/bits/regex_compiler.h: Move _M_flags to the top of class member list, because other members' initialization depend on it. * include/bits/regex_compiler.tcc (_Compiler<>::_Compiler): Adjust member initializations. (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier. * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes. In the future, all regex classes may refactor to *Impl style. * include/bits/regex_executor.tcc (_Executor::_M_set_results): Merge identical code from _*Executor classes. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase caller for new __get_executors interface. * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc: New. * testsuite/28_regex/match_results/format.cc: New. * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph testcase. * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202858 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-18 Tim Shen <timshen91@gmail.com>timshen2013-09-182-3/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/regex.h: Add friend classes. (match_results<>::position, regex_iterator<>::operator++): Implement position specification in regex_iterator. (regex_match<>, regex_search<>): Move match_results initializations to these function. Remove `todo`. * include/bits/regex_compiler.tcc: (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching. * include/bits/regex_constants.h: Fix indentation. Change match_flag_type to enum type. * include/bits/regex_executor.h: Merge identical code to the base class _Executor. Support flags in regex_constants. * include/bits/regex_executor.tcc: Likewise. * include/bits/regex_scanner.h: Add comments. * include/bits/regex_scanner.tcc: Same. * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Add a testcase. * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New. * testsuite/28_regex/iterators/regex_iterator/char/ string_position_01.cc: Remove `xfail`. * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: Remove `xfail` and make the case really work. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202706 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-14 Tim Shen <timshen91@gmail.com>timshen2013-09-143-1/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/regex.h (regex_match<>, regex_search<>): Change regex_executor caller. Now use their return value instead of checking __m[0].matched to find out if it's successful. (regex_search<>): Move the search logic to regex_executor. * include/bits/regex_automaton.h: Add some new _Opcode. Refactor _NFA::_M_insert_*. * include/bits/regex_automaton.tcc: Add DEBUG dump for new _Opcode. Refactor _NFA::_M_insert_*. * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa): Use make_shared instead of construct by hand. * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion. * include/bits/regex_constants.h: Fix indentation and line breaking. * include/bits/regex_executor.h: Add _ResultsEntry to support greedy/ungreedy mode. Move regex_search logic here. * include/bits/regex_executor.tcc: Implement assertions and greedy/ungreedy matching. * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy. * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy. * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New. * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New. * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Fix comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202591 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-05 Tim Shen <timshen91@gmail.com>timshen2013-09-057-59/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/regex_automaton.h: Add dummy node type. Rewrite _StateSeq. * include/bits/regex_automaton.tcc: Implement them. * include/bits/regex_compiler.h: Rewrite _Compiler to use new _StateSeq interfaces. * include/bits/regex_compiler.tcc: Implement them. * include/bits/regex_scanner.h: Add word boundry assertion token. * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma): Support word boundry. * testsuite/28_regex/algorithms/regex_match/basic/ string_range_02_03.cc: Remove "xfail". * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_02_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ cstring_questionmark.cc: Remove xfail and get correct length of c-string. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_00_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: New. * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc: New. * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202290 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-02 Tim Shen <timshen91@gmail.com>timshen2013-09-027-5/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | * regex_automaton.h: Rearrange _NFA's layout. * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher. Rearrange _BracketMatcher's layout. (_BracketMatcher<>::_M_add_char): Use set instead of vector for _M_char_set. (_BracketMatcher<>::_M_add_collating_element): Likewise. (_BracketMatcher<>::_M_make_range): Likewise. * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use apropriate constructors of matchers above. * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202189 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-29 Tim Shen <timshen91@gmail.com>timshen2013-08-291-0/+48
| | | | | | | | | | | | | | | | | | | | | * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits. (regex_iterator<>::regex_iterator): Return nullptr when regex_search failed. (regex_token_iterator<>::_M_end_of_seq): Should be defined true when _M_result is(not isn't) nullptr. * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference instead of by value. * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add _M_traits to _DFSExecutor. * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to _DFSExecutor too. * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: New. * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ wstring_02.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202082 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-26 Tim Shen <timshen91@gmail.com>timshen2013-08-275-0/+250
| | | | | | | | | | | | | | | | | | | | | | * include/Makefile.am: Add regex_scanner.{h,tcc}. * include/Makefile.in: Regenerate. * include/bits/regex.h (match_search): Handle the `__first == __last` situation correctly. * include/bits/regex_compiler.h: Move _Scanner... * include/bits/regex_scanner.h: ...to here. New. * include/bits/regex_compiler.tcc: Move _Scanner... * include/bits/regex_scanner.tcc: ...to here, too. New. * include/bits/regex_executor.tcc: Use value instead of reference for submatch. * include/std/regex: Add regex_scanner.h * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New. * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New. * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202015 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-22 Tim Shen <timshen91@gmail.com>timshen2013-08-221-0/+58
| | | | | | | | | | | | * include/bits/regex.h: Executor caller. * include/bits/regex_executor.h: Fix empty grouping problem. * include/bits/regex_executor.tcc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201914 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-18 Tim Shen <timshen91@gmail.com>timshen2013-08-181-0/+78
| | | | | | | | | | | | * include/bits/regex_automaton.h: _S_opcode_backref. * include/bits/regex_automaton.tcc: Backref automaton support. * include/bits/regex_compiler.tcc: Parsing support. * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor. * include/bits/regex_executor.tcc: Add _S_opcode_backref support. * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201825 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-07 Tim Shen <timshen91@gmail.com>timshen2013-08-071-6/+4
| | | | | | | | | | | | | | | | | | | | * include/Makefile.am: Adjust to new files. * include/Makefile.in: Regenerate. * include/bits/regex.h: Adjust to new interfaces. * include/bits/regex_automaton.h: New. * include/bits/regex_automaton.tcc: New. * include/bits/regex_compiler.h: Adjust to new files. * include/bits/regex_compiler.tcc: New. * include/bits/regex_constants.h: Tail spaces. * include/bits/regex_error.h: Likewise. * include/bits/regex_executor.h: New. * include/bits/regex_executor.tcc: New. * include/std/regex: Adjust to new files. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: Adjust to new interfaces. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201573 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-03 Tim Shen <timshen91@gmail.com>timshen2013-08-032-2/+68
| | | | | | | | | | | | | | | | Implement bracket expression. * include/bits/regex.h: Remove constexpr from "|=", etc. * include/bits/regex_compiler.h: Parse bracket expression. * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old _RangeMatcher). * include/bits/regex_nfa.tcc: Implement them. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: from regex_search to regex_match. * testsuite/28_regex/algorithms/regex_match/extended/ cstring_bracket_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201465 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-31 Tim Shen <timshen91@gmail.com>timshen2013-07-313-16/+113
| | | | | | | | | | | | | | | | | | | | Thompson matcher refactored. Fix grouping problem. * include/bits/regex.h: Use a dispatcher _M_get_matcher(). * include/bits/regex_compiler.h: Tweak for auto switching. * include/bits/regex_grep_matcher.h: Class structure. * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson matcher) refactoring. * include/bits/regex_nfa.h: Change _Results's interfaces. * include/std/regex: Includes <map> and <queue>. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201391 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert last commit.timshen2013-07-313-113/+16
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201360 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-31 Tim Shen <timshen91@gmail.com>timshen2013-07-313-16/+113
| | | | | | | | | | | | | | | | | | | | Thompson matcher refactored. Fix grouping problem. * include/bits/regex.h: Use a dispatcher _M_get_matcher(). * include/bits/regex_compiler.h: Tweak for auto switching. * include/bits/regex_grep_matcher.h: Class structure. * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson matcher) refactoring. * include/bits/regex_nfa.h: Change _Results's interfaces. * include/std/regex: Includes <map> and <queue>. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201358 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-07-301-0/+0
| | | | | | | Revert last commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201349 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-07-303-113/+16
| | | | | | | Revert last commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201348 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-30 Tim Shen <timshen91@gmail.com>timshen2013-07-303-16/+113
| | | | | | | | | | | | | | | | | | | | Thompson matcher refactored. Fix grouping problem. * include/bits/regex.h: Use a dispatcher _M_get_matcher(). * include/bits/regex_compiler.h: Tweak for auto switching. * include/bits/regex_grep_matcher.h: Class structure. * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson matcher) refactoring. * include/bits/regex_nfa.h: Change _Results's interfaces. * include/std/regex: Includes <map> and <queue>. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/string_dispatch_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201334 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-24 Tim Shen <timshen91@gmail.com>timshen2013-07-243-2/+103
| | | | | | | | | | | | | | | | | | | Reimplment matcher using Depth-first search(backtracking). PR libstdc++/53622 PR libstdc++/57173 * include/bits/regex.h: regex_match() and regex_search(). * include/bits/regex_cursor.h: Fix _M_set_pos(). * include/bits/regex_grep_matcher.h: add _M_dfs_match(). * include/bits/regex_grep_matcher.tcc: Implement it. * testsuite/28_regex/algorithms/regex_match/extended/string_group_01.cc: New. * testsuite/28_regex/algorithms/regex_match/extended/string_group_02.cc: New. * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Remove xfail. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201213 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-21 Tim Shen <timshen91@gmail.com>timshen2013-07-211-0/+58
| | | | | | | | | | | | Partially implement regex_search. * include/bits/regex.h: regex_search. * include/bits/regex_grep_matcher.h: _M_search_from_first. * include/bits/regex_grep_matcher.tcc: Implement it. * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201113 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright in libstdc++-v3.rsandifo2013-02-0312-12/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195701 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-05 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-10-0510-0/+0
| | | | | | | | | | | * testsuite/28_regex/algorithms/match: Rename to... * testsuite/28_regex/algorithms/regex_match: ...this. * testsuite/28_regex/basic_regex/regex.cc: Rename to... * testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this. * testsuite/util/testsuite_regex.h: New. * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192146 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-24 Benjamin Kosnik <bkoz@redhat.com>bkoz2012-06-2510-0/+0
| | | | | | | | | * testsuite/28_regex/algorithms/02_match: To... * testsuite/28_regex/algorithms/match: ...this. * testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove duplicate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188923 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-12-302-0/+62
| | | | | | | | | | | PR libstdc++/51711 * include/bits/regex.h (regex_replace): Fix thinko. * testsuite/28_regex/algorithms/regex_replace/char/51711.cc: New. * testsuite/28_regex/algorithms/regex_replace/wchar_t/51711.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182740 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-02-10 Benjamin Kosnik <bkoz@redhat.com>bkoz2011-02-1110-0/+615
* src/Makefile.am (sources): Add regex.cc. * src/Makefile.in: Regenerate. * src/regex.cc: New. * include/bits/regex_error.h (error_type): Use constexpr. (regex_error): Move ctor and dtor out of line. * testsuite/28_regex/03_requirements: To... * testsuite/28_regex/requirements: ... this. * testsuite/28_regex/04_header: To... * testsuite/28_regex/headers: ... this. * testsuite/28_regex/05_constants: To... * testsuite/28_regex/constants: ... this. * testsuite/28_regex/06_exception_type: To... * testsuite/28_regex/regex_error: ... this. * testsuite/28_regex/07_traits: To... * testsuite/28_regex/traits: ... this. * testsuite/28_regex/08_basic_regex: To... * testsuite/28_regex/basic_regex: ... this. * testsuite/28_regex/09_sub_match: To... * testsuite/28_regex/sub_match: ... this. * testsuite/28_regex/10_match_results: To... * testsuite/28_regex/match_results: ... this. * testsuite/28_regex/11_algorithms: To... * testsuite/28_regex/algorithms: ... this. * testsuite/28_regex/12_iterators: To... * testsuite/28_regex/iterators: ... this. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170038 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud