2014-01-17 Tim Shen * 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 , and . 2014-01-17 Tim Shen * 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 * 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 for using strchr. 2014-01-17 Tim Shen * 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 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 * 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 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 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 * 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 * 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 * 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 Update copyright years 2014-01-02 Richard Sandiford * 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.