ddf41e9db6
2014-01-17 Tim Shen <timshen91@gmail.com> * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not use std::map. * include/bits/regex_automaton.h: Do not use std::set. * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(), _BracketMatcher<>::_M_add_collating_element(), _BracketMatcher<>::_M_add_equivalence_class(), _BracketMatcher<>::_M_make_range()): Likewise. * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()): Likewise. * include/bits/regex_executor.h: Do not use std::queue. * include/bits/regex_executor.tcc (_Executor<>::_M_main(), _Executor<>::_M_dfs()): Likewise. * include/std/regex: Remove <map>, <set> and <queue>. 2014-01-17 Tim Shen <timshen91@gmail.com> * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(), basic_regex<>::assign()): Change __compile_nfa to accept const _CharT* only. * include/bits/regex_compiler.h: Change _Compiler's template argument from <_FwdIter, _TraitsT> to <_TraitsT>. * include/bits/regex_compiler.tcc: Likewise. 2014-01-17 Tim Shen <timshen91@gmail.com> * include/bits/regex_compiler.h: Change _ScannerT into char-type templated. * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate _ScannerBase from _Scanner; Change _Scanner's template argument from _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays instead. * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(), _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(), _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()): Likewise. * include/std/regex: Add <cstring> for using strchr. 2014-01-17 Tim Shen <timshen91@gmail.com> * bits/regex_automaton.tcc: Indentation fix. * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>, _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>, _BracketMatcher<>): Add bool option template parameters and specializations to make matching more efficient and space saving. * bits/regex_compiler.tcc: Likewise. From-SVN: r206690
182 lines
7.5 KiB
Plaintext
182 lines
7.5 KiB
Plaintext
2014-01-17 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
|
||
use std::map.
|
||
* include/bits/regex_automaton.h: Do not use std::set.
|
||
* include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
|
||
_BracketMatcher<>::_M_add_collating_element(),
|
||
_BracketMatcher<>::_M_add_equivalence_class(),
|
||
_BracketMatcher<>::_M_make_range()): Likewise.
|
||
* include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
|
||
Likewise.
|
||
* include/bits/regex_executor.h: Do not use std::queue.
|
||
* include/bits/regex_executor.tcc (_Executor<>::_M_main(),
|
||
_Executor<>::_M_dfs()): Likewise.
|
||
* include/std/regex: Remove <map>, <set> and <queue>.
|
||
|
||
2014-01-17 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
|
||
basic_regex<>::assign()): Change __compile_nfa to accept
|
||
const _CharT* only.
|
||
* include/bits/regex_compiler.h: Change _Compiler's template
|
||
argument from <_FwdIter, _TraitsT> to <_TraitsT>.
|
||
* include/bits/regex_compiler.tcc: Likewise.
|
||
|
||
2014-01-17 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex_compiler.h: Change _ScannerT into char-type
|
||
templated.
|
||
* include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
|
||
_ScannerBase from _Scanner; Change _Scanner's template argument from
|
||
_FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
|
||
instead.
|
||
* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
|
||
_Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
|
||
_Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
|
||
Likewise.
|
||
* include/std/regex: Add <cstring> for using strchr.
|
||
|
||
2014-01-17 Tim Shen <timshen91@gmail.com>
|
||
|
||
* bits/regex_automaton.tcc: Indentation fix.
|
||
* bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
|
||
_RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
|
||
_BracketMatcher<>): Add bool option template parameters and
|
||
specializations to make matching more efficient and space saving.
|
||
* bits/regex_compiler.tcc: Likewise.
|
||
|
||
2014-01-15 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
PR libstdc++/59712
|
||
* include/bits/hashtable_policy.h: Fix some long lines.
|
||
* include/bits/hashtable.h (__hash_code_base_access): Define and
|
||
use it to check its _M_bucket_index noexcept qualification. Use
|
||
also in place of...
|
||
(__access_protected_ctor): ...this.
|
||
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
|
||
Adapt line number.
|
||
* testsuite/23_containers/unordered_set/
|
||
not_default_constructible_hash_neg.cc: Likewise.
|
||
|
||
2014-01-13 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/debug/set.h (set): Implement C++11 allocator-aware
|
||
container requirements.
|
||
* include/debug/map.h (map): Likewise.
|
||
* include/debug/multiset.h (multiset): Likewise.
|
||
* include/debug/multimap.h (multimap): Likewise.
|
||
* include/debug/set.h (set::operator=(set&&)): Add noexcept and
|
||
fix implementation regarding management of safe iterators.
|
||
* include/debug/map.h (map::operator=(map&&)): Likewise.
|
||
* include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
|
||
* include/debug/multimap.h (multimap::operator=(multimap&&)):
|
||
Likewise.
|
||
* include/debug/set.h (set::operator=(std::initializer_list<>)):
|
||
Rely on the same operator from normal mode.
|
||
* include/debug/map.h (map::operator=(std::initializer_list<>)):
|
||
Likewise.
|
||
* include/debug/multiset.h
|
||
(multiset::operator=(std::initializer_list<>)): Likewise.
|
||
* include/debug/multimap.h
|
||
(multimap::operator=(std::initializer_list<>)): Likewise.
|
||
* include/debug/set.h (set::swap(set&)): Add noexcept
|
||
specification, add allocator equality check.
|
||
* include/debug/map.h (map::swap(map&)): Likewise.
|
||
* include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
|
||
* include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
|
||
|
||
2014-01-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/59698
|
||
* doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
|
||
and stylistic improvements.
|
||
* doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
|
||
and update for C++11.
|
||
* doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
|
||
|
||
PR libstdc++/59687
|
||
* doc/xml/manual/backwards_compatibility.xml
|
||
(backwards.third.nocreate_noreplace): Correct and expand.
|
||
|
||
PR libstdc++/59699
|
||
* doc/xml/manual/support.xml (std.support.types.null): Update links.
|
||
|
||
2014-01-09 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/59738
|
||
* include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
|
||
support for non-Movable types.
|
||
|
||
PR libstdc++/59680
|
||
* src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
|
||
|
||
2014-01-08 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
|
||
*this allocator instance when building temporary vector instance
|
||
so that *this allocator does not get moved.
|
||
* include/debug/safe_base.h
|
||
(_Safe_sequence_base(_Safe_sequence_base&&)): New.
|
||
* include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
|
||
move constructor from _Safe_sequence_base.
|
||
(__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
|
||
safe iterators if the instance is moved.
|
||
(__gnu_debug::vector<>::operator=(vector&&)): Likewise.
|
||
* testsuite/23_containers/vector/allocator/move.cc (test01): Add
|
||
check on a vector iterator.
|
||
* testsuite/23_containers/vector/allocator/move_assign.cc
|
||
(test02): Likewise.
|
||
(test03): New, test with a non-propagating allocator.
|
||
* testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
|
||
|
||
2014-01-07 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
|
||
_AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
|
||
_CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
|
||
_BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
|
||
_BracketMatcher<>::_M_add_char(),
|
||
_BracketMatcher<>::_M_add_collating_element(),
|
||
_BracketMatcher<>::_M_add_equivalence_class(),
|
||
_BracketMatcher<>::_M_add_character_class(),
|
||
_BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
|
||
_BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
|
||
Fix _AnyMatcher behavior of POSIX style and move _M_flags
|
||
to template parameter; Add cache for _BracketMatcher. Adjust
|
||
declarations from here...
|
||
* include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
|
||
imbuing a regex will trigger a recompilation to rebuild the cache.
|
||
* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
|
||
_Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
|
||
different template bool parameters.
|
||
* include/bits/regex_executor.h: Remove unnecessary declarations.
|
||
* include/std/regex: Adjust including orders.
|
||
* testsuite/28_regex/traits/char/user_defined.cc: New.
|
||
* testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
|
||
|
||
2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
|
||
* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
|
||
* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
|
||
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
|
||
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
|
||
|
||
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
Update copyright years
|
||
|
||
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* testsuite/18_support/new_handler.cc,
|
||
testsuite/18_support/terminate_handler.cc,
|
||
testsuite/18_support/unexpected_handler.cc: Use the standard form for
|
||
the copyright notice.
|
||
|
||
Copyright (C) 2014 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|