summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/bits
Commit message (Collapse)AuthorAgeFilesLines
...
* 2013-09-14 Tim Shen <timshen91@gmail.com>timshen2013-09-1410-306/+592
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-09-121-5/+5
| | | | | | | | | | | PR libstdc++/58403 * include/bits/stl_iterator.h (__normal_iterator<>::operator[], operator+=, operator+, operator-=, operator-): Take the argument by value. * testsuite/24_iterators/normal_iterator/58403.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202531 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>paolo2013-09-111-52/+22
| | | | | | | | | | | | | Chris Jefferson <chris@bubblescope.net> PR libstdc++/58358 * include/bits/stl_algo.h (search_n): Fix to guarantee a number of comparisons <= number of elements in the range. * testsuite/25_algorithms/search_n/58358.cc: New. * testsuite/25_algorithms/search_n/iterator.cc: Extend. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202510 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-09-071-1/+1
| | | | | | | | | PR libstdc++/58341 * include/bits/stl_algobase.h (copy_backward): Fix documentation per DR 1206. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202357 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-05 Tim Shen <timshen91@gmail.com>timshen2013-09-056-250/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-03 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-09-031-1/+1
| | | | | | | | | | | | PR libstdc++/58302 * include/bits/random.tcc (negative_binomial_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&): Fix typo in template argument. * testsuite/26_numerics/random/negative_binomial_distribution/ operators/58302.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202208 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-02 Tim Shen <timshen91@gmail.com>timshen2013-09-023-55/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-294-17/+24
| | | | | | | | | | | | | | | | | | | | | * 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-276-790/+1015
| | | | | | | | | | | | | | | | | | | | | | * 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-228-949/+949
| | | | | | | | | | | | | | * include/bits/regex.h: Replace 8 spaces in indentation with a tab. * include/bits/regex_automaton.h: Same. * include/bits/regex_automaton.tcc: Same. * include/bits/regex_compiler.h: Same. * include/bits/regex_compiler.tcc: Same. * include/bits/regex_constants.h: Same. * include/bits/regex_executor.h: Same. * include/bits/regex_executor.tcc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201916 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-22 Tim Shen <timshen91@gmail.com>timshen2013-08-223-89/+169
| | | | | | | | | | | | * 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-20 Tim Shen <timshen91@gmail.com>timshen2013-08-201-1/+1
| | | | | | | | * include/bits/regex_constants.h: Add underlying `unsigned int` for enum syntax_option_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201872 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-18 Tim Shen <timshen91@gmail.com>timshen2013-08-185-28/+94
| | | | | | | | | | | | * 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-16 Tim Shen <timshen91@gmail.com>paolo2013-08-161-14/+7
| | | | | | | | * include/bits/regex.h (regex_traits<>::transform_primary): Avoid past-the-end dereferences. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201783 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-151-3/+4
| | | | | | | | | | | | | | | | PR libstdc++/58163 * include/bits/basic_string.h (basic_string<>::operator[]): Fix _GLIBCXX_DEBUG_PEDASSERT check vs C++11. * include/ext/vstring.h: Likewise. * testsuite/21_strings/basic_string/element_access/char/58163.cc: New. * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc: Likewise. * testsuite/ext/vstring/element_access/char/58163.cc: Likewise. * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201755 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-09 Tim Shen <timshen91@gmail.com>timshen2013-08-091-80/+118
| | | | | | | | * include/bits/regex_constants.h: Change syntax_option_type to enum type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201621 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't use _B etc. in libstdc++ro2013-08-081-12/+12
| | | | | | | * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201596 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-08 François Dumont <fdumont@gcc.gnu.org>fdumont2013-08-082-311/+287
| | | | | | | | | | | | | | | | | | | * include/bits/hashtable_policy.h (_Hashtable_alloc): New. (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than _Hashtable. (_Before_begin<>): Remove. * include/bits/hashtable.h (_Hashtable): Inherit from _Hashtable_alloc and adapt. Restore _M_before_begin field. * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include. * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt access to hashtable before begin. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201592 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-07 Tim Shen <timshen91@gmail.com>timshen2013-08-0714-2323/+2093
| | | | | | | | | | | | | | | | | | | | * 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-07 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/58098 * include/bits/random.h (cauchy_distribution<>::min, extreme_value_distribution<>::min, normal_distribution<>::min, student_t_distribution<>::min): Fix. * include/ext/random (normal_mv_distribution<>::min): Likewise. * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: Adjust. testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/cons/ parms.cc: Likewise. testsuite/26_numerics/random/extreme_value_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/default.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: Minor tweak. * testsuite/26_numerics/random/exponential_distribution/cons/default.cc: Likewise. * testsuite/ext/von_mises_distribution/*: Move to... * testsuite/ext/random/von_mises_distribution/*: ... here. * testsuite/ext/triangular_distribution/*: Move to... * testsuite/ext/random/triangular_distribution/*: ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201562 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-06 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-062-287/+311
| | | | | | | Revert the last commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201525 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-06 François Dumont <fdumont@gcc.gnu.org>fdumont2013-08-062-311/+287
| | | | | | | | | | | | | | | | | | * include/bits/hashtable_policy.h (_Hashtable_alloc): New. (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than _Hashtable. (_Before_begin<>): Remove. * include/bits/hashtable.h (_Hashtable): Inherit from _Hashtable_alloc and adapt. Restore _M_before_begin field. * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt access to hashtable before begin. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201522 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-03 Tim Shen <timshen91@gmail.com>timshen2013-08-034-190/+250
| | | | | | | | | | | | | | | | 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-315-184/+297
| | | | | | | | | | | | | | | | | | | | 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
* 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-07-311-1/+1
| | | | | | | | | | | PR libstdc++/56627 * include/bits/stl_bvector.h: Use friend struct hash intead of friend class hash to work around useless warnings produced by some compilers. * include/std/bitset: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201377 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert last commit.timshen2013-07-315-297/+184
| | | | 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-315-184/+297
| | | | | | | | | | | | | | | | | | | | 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-305-287/+184
| | | | | | | 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-305-184/+287
| | | | | | | | | | | | | | | | | | | | 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-25 Tim Shen <timshen91@gmail.com>timshen2013-07-253-26/+23
| | | | | | | | | | | | Add documents and comments. * include/bits/regex.h: Documents and comments. * include/bits/regex_grep_matcher.h: Likewise. * include/bits/regex_grep_matcher.tcc: Likewise. * testsuite/28_regex/iterators/regex_iterator/char/string_position_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201244 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-07-241-3/+3
| | | | | | | | | | | * include/bits/random.h (random_device): Avoid using the FILE type. * include/std/random: Do not include <cstdio>. * src/c++11/random.cc: ... include it here. (random_device::_M_init, random_device::_M_fini, random_device::_M_getval): Cast back and forth void* and FILE*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201215 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-24 Tim Shen <timshen91@gmail.com>timshen2013-07-244-7/+74
| | | | | | | | | | | | | | | | | | | 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-23 Tim Shen <timshen91@gmail.com>timshen2013-07-231-55/+251
| | | | | | | | | | | | | | | | Implement regex_iterator and regex_token_iterator. * include/bits/regex.h: regex_iterator and regex_token_iterator. * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc: New. * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc: New. * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc: New. * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201169 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-21 Tim Shen <timshen91@gmail.com>timshen2013-07-213-13/+70
| | | | | | | | | | | | 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
* 2013-07-09 Tim Shen <timshen91@gmail.com>emsr2013-07-091-34/+332
| | | | | | | | | | | | | | | | | | | Implement class regex_traits. * include/bits/regex.h: Implement lookup_classname and lookup_collatename; modify isctype; partially implement transform_primary. * testsuite/28_regex/traits/char/isctype.cc: Add more test cases. * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise. * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise. * testsuite/28_regex/traits/char/transform_primary.cc: Likewise. * testsuite/28_regex/traits/wchar_t/isctype.cc: New. * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New. * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New. * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200818 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-05 François Dumont <fdumont@gcc.gnu.org>fdumont2013-07-052-165/+176
| | | | | | | | | | | | | | | | * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward pattern. (_MoveReuseOrAllocNode): Remove. (_Insert_base): Take a functor defining how the node is generated. * include/bits/hashtable.h: Adapt. (operator=(initializer_list<value_type>)): Reuse node if any. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200724 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-04 Veres Lajos <vlajos@gmail.com>redi2013-07-042-2/+2
| | | | | | | | | | | | | | | | | | Jonathan Wakely <jwakely.gcc@gmail.com> * config/locale/generic/codecvt_members.cc: Fix typo. * configure.host: Likewise. * doc/html/manual/policy_data_structures_design.html: Likewise. * doc/xml/manual/policy_data_structures.xml: Likewise. * include/bits/hashtable.h: Likewise. * include/bits/random.h: Likewise. * include/profile/impl/profiler_trace.h: Likewise. * testsuite/23_containers/deque/cons/2.cc: Likewise. * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise. * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise. * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200681 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-04 Ray Chason <chasonr@newsguy.com>paolo2013-07-041-12/+12
| | | | | | | | | | | | Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/57808 * include/bits/regex.h (regex_token_iterator<>::operator==, regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*, regex_token_iterator<>::operator->): Declare const. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200662 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-01 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-07-012-23/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/stl_list.h (list<>::insert(iterator, size_type, const value_type&), list<>::insert(iterator, initializer_list<>), list<>::insert(iterator, _InputIterator, _InputIterator), list<>::splice(iterator, list&&), list<>::splice(iterator, list&), list<>::splice(iterator, list&&, iterator), list<>::splice(iterator, list&, iterator), list<>::splice(iterator, list&&, iterator, iterator), list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11 signatures to take const_iterator(s). * include/bits/list.tcc (list<>::insert(const_iterator, size_type, const value_type&), list<>::insert(const_iterator, _InputIterator, _InputIterator)): Define. * include/ext/vstring.h (__versa_string<>::insert(iterator, size_type, _CharT), __versa_string<>::insert(iterator, _InputIterator, _InputIterator), __versa_string<>::insert(iterator, std::initializer_list<>), __versa_string<>::replace(iterator, iterator, _InputIterator, _InputIterator), __versa_string<>:: replace(iterator, iterator, std::initializer_list<>)): Adjust C++11 signatures to take const_iterator(s). (__versa_string<>::_M_replace_dispatch): Take const_iterators. * include/ext/vstring.tcc: Likewise. * include/debug/list: Adjust. * include/profile/list: Likewise. * testsuite/23_containers/list/operations/splice/const_iterator.cc: New. * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: Extend. * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200580 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-06-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-06-303-21/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/stl_deque.h (deque<>::insert(iterator, size_type, const value_type&), deque<>::insert(iterator, initializer_list<>), deque<>::insert(iterator, _InputIterator, _InputIterator)): Adjust C++11 signatures to take a const_iterator. * include/bits/stl_vector.h: Likewise. * include/bits/stl_bvector.h: Likewise. * include/debug/deque: Adjust. * include/debug/vector: Likewise. * include/profile/deque: Likewise. * include/profile/vector: Likewise. * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: Extend. * testsuite/23_containers/vector/bool/modifiers/insert/ const_iterator.cc: Likewise. * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200571 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-06-29 François Dumont <fdumont@gcc.gnu.org>fdumont2013-06-292-28/+77
| | | | | | | | | | | | | | | | | | * include/bits/hashtable_policy.h (_Insert_base): Consider hint in insert methods. * include/bits/hashtable.h: Likewise. * testsuite/23_containers/unordered_multimap/insert/hint.cc: New. * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: New. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. * doc/xml/manual/containers.xml: Document hinting in unordered containers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200564 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-06-278-70/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/stl_deque.h (deque<>::insert(iterator, const value_type&), deque<>::insert(iterator, value_type&&), deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to take a const_iterator. (deque<>::erase): Simplify. * include/bits/stl_list.h: Likewise. (_List_iterator<>::_M_const_cast): Add. * include/bits/stl_vector.h: Likewise. * include/bits/stl_bvector.h: Likewise. (_Bit_iterator::_M_const_cast): Add. * include/bits/deque.tcc: Adjust definitions. * include/bits/list.tcc: Likewise. * include/bits/vector.tcc: Likewise. * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): Define trivial version in C++98 mode. * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT), __versa_string<>::replace(iterator, iterator, const __versa_string&), __versa_string<>::replace(iterator, iterator, const _CharT*, size_type), __versa_string<>::replace(iterator, iterator, const _CharT*), __versa_string<>::replace(iterator, iterator, size_type, _CharT)): Adjust C++11 signatures to take a pair of const_iterators. * include/debug/deque: Adjust. * include/debug/list: Likewise. * include/debug/vector: Likewise. * include/profile/deque: Likewise. * include/profile/list: Likewise. * include/profile/vector: Likewise. (vector<>::emplace): Add. * testsuite/util/exception/safety.h: Update. * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc: New. * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: Likewise. * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc: Likewise. * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: Likewise. * testsuite/23_containers/vector/bool/modifiers/insert/ const_iterator.cc: Likewise. * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc: Likewise. * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/ ext/vstring/modifiers/erase/char/. * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/ ext/vstring/modifiers/wchar_t/. * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/ ext/vstring/modifiers/pop_back/char/. * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to testsuite/ext/vstring/modifiers/pop_back/wchar_t/. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200458 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-06-251-1/+5
| | | | | | | | | | PR libstdc++/57704 * include/bits/char_traits.h (char_traits<char>::lt): Implement LWG 467. * testsuite/21_strings/char_traits/requirements/char/57704.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200392 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-06-222-5/+8
| | | | | | | | | | | | | | | PR libstdc++/57674 * include/bits/random.h (binomial_distribution<>::_M_waiting): Add double parameter. * include/bits/random.tcc (binomial_distribution<>::operator() (_UniformRandomNumberGenerator&, const param_type&)): Pass __param._M_q to _M_waiting. (_M_waiting): Adjust. * testsuite/26_numerics/random/binomial_distribution/ operators/values.cc: Add tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200341 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com>redi2013-06-172-95/+24
| | | | | | | | | | | | Chris Jefferson <chris@bubblescope.net> * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671 dispatch to traditional std::equal for random-access iterators. (__equal2_aux, __equal2): Remove. (__equal::equal): Remove unused overloads. * include/bits/stl_algo.h (is_permutation): Fix typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200145 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/57263redi2013-06-162-7/+20
| | | | | | | | | | | | * include/bits/forward_list.h (_Fwd_list_base): Convert to/from allocator's pointer type. * include/bits/hashtable.h (_Hashtable): Likewise. * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add. * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New. * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New. * testsuite/23_containers/vector/allocator/ext_ptr.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200136 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/std/shared_mutex: Implement N3659.redi2013-06-161-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/c++14_warning.h: New. * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * testsuite/30_threads/shared_lock/cons/1.cc: New. * testsuite/30_threads/shared_lock/locking/2.cc: New. * testsuite/30_threads/shared_lock/cons/2.cc: New. * testsuite/30_threads/shared_lock/locking/3.cc: New. * testsuite/30_threads/shared_lock/cons/3.cc: New. * testsuite/30_threads/shared_lock/locking/4.cc: New. * testsuite/30_threads/shared_lock/cons/4.cc: New. * testsuite/30_threads/shared_lock/modifiers/1.cc: New. * testsuite/30_threads/shared_lock/cons/5.cc: New. * testsuite/30_threads/shared_lock/modifiers/2.cc: New. * testsuite/30_threads/shared_lock/cons/6.cc: New. * testsuite/30_threads/shared_lock/requirements/ explicit_instantiation.cc: New. * testsuite/30_threads/shared_lock/locking/1.cc: New. * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New. * testsuite/30_threads/shared_mutex/cons/1.cc: New. * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New. * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New. * testsuite/30_threads/shared_mutex/requirements/ standard_layout.cc: New. * testsuite/30_threads/shared_mutex/try_lock/1.cc: New. * testsuite/30_threads/shared_mutex/try_lock/2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200134 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-06-15 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-06-141-4/+4
| | | | | | | | | | | PR libstdc++/57619 * include/bits/unordered_map.h (unordered_map<>::insert, unordered_multimap<>::insert): Use std::forward, not std::move. * testsuite/23_containers/unordered_map/insert/57619.C: New. * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200111 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>emsr2013-06-111-2/+4
| | | | | | | | | | | Fix library literals error involving namespace __detail. * include/std/chrono: Rename __detail to __select_type. Reformat. * include/bits/basic_string.h: Reformat. * testsuite/20_util/duration/literals/ns_detail.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199948 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-06-10 Benjamin Kosnik <bkoz@redhat.com>bkoz2013-06-106-14/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add. * include/bits/stl_map.h (erase): Use abi_tag when C++11. * include/bits/stl_multimap.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_tree.h: Same. * include/std/complex (real, imag): Use macro for abi_tag. * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline. * testsuite/util/testsuite_containers.h (erase_external): New declarations. (erase_external_iterators): Same. (linkage_check_cxx98_cxx11_erase): Same. (linkage_check_cxx98_cxx11_erase_iterators): Same. * testsuite/util/testsuite_shared.cc: Define. * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New. * testsuite/23_containers/map/modifiers/erase/ dr130-linkage-check.cc: New. * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New. * testsuite/23_containers/multimap/modifiers/erase/ dr130-linkage-check.cc: New. * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New. * testsuite/23_containers/multiset/modifiers/erase/ dr130-linkage-check.cc: New. * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New. * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc: New. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number. * testsuite/23_containers/map/dr130.cc: Move... * testsuite/23_containers/map/modifiers/dr130.cc: ...here. * testsuite/23_containers/multimap/dr130.cc: Move ... * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here. * testsuite/23_containers/multiset/dr130.cc: Move... * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here. * testsuite/23_containers/set/dr130.cc: Move... * testsuite/23_containers/set/modifiers/dr130.cc: ...here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199924 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud