regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not use std::map.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-01-17 Tim Shen <timshen91@gmail.com>
2
3 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
4 use std::map.
5 * include/bits/regex_automaton.h: Do not use std::set.
6 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
7 _BracketMatcher<>::_M_add_collating_element(),
8 _BracketMatcher<>::_M_add_equivalence_class(),
9 _BracketMatcher<>::_M_make_range()): Likewise.
10 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
11 Likewise.
12 * include/bits/regex_executor.h: Do not use std::queue.
13 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
14 _Executor<>::_M_dfs()): Likewise.
15 * include/std/regex: Remove <map>, <set> and <queue>.
16
17 2014-01-17 Tim Shen <timshen91@gmail.com>
18
19 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
20 basic_regex<>::assign()): Change __compile_nfa to accept
21 const _CharT* only.
22 * include/bits/regex_compiler.h: Change _Compiler's template
23 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
24 * include/bits/regex_compiler.tcc: Likewise.
25
26 2014-01-17 Tim Shen <timshen91@gmail.com>
27
28 * include/bits/regex_compiler.h: Change _ScannerT into char-type
29 templated.
30 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
31 _ScannerBase from _Scanner; Change _Scanner's template argument from
32 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
33 instead.
34 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
35 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
36 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
37 Likewise.
38 * include/std/regex: Add <cstring> for using strchr.
39
40 2014-01-17 Tim Shen <timshen91@gmail.com>
41
42 * bits/regex_automaton.tcc: Indentation fix.
43 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
44 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
45 _BracketMatcher<>): Add bool option template parameters and
46 specializations to make matching more efficient and space saving.
47 * bits/regex_compiler.tcc: Likewise.
48
49 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
50
51 PR libstdc++/59712
52 * include/bits/hashtable_policy.h: Fix some long lines.
53 * include/bits/hashtable.h (__hash_code_base_access): Define and
54 use it to check its _M_bucket_index noexcept qualification. Use
55 also in place of...
56 (__access_protected_ctor): ...this.
57 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
58 Adapt line number.
59 * testsuite/23_containers/unordered_set/
60 not_default_constructible_hash_neg.cc: Likewise.
61
62 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
63
64 * include/debug/set.h (set): Implement C++11 allocator-aware
65 container requirements.
66 * include/debug/map.h (map): Likewise.
67 * include/debug/multiset.h (multiset): Likewise.
68 * include/debug/multimap.h (multimap): Likewise.
69 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
70 fix implementation regarding management of safe iterators.
71 * include/debug/map.h (map::operator=(map&&)): Likewise.
72 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
73 * include/debug/multimap.h (multimap::operator=(multimap&&)):
74 Likewise.
75 * include/debug/set.h (set::operator=(std::initializer_list<>)):
76 Rely on the same operator from normal mode.
77 * include/debug/map.h (map::operator=(std::initializer_list<>)):
78 Likewise.
79 * include/debug/multiset.h
80 (multiset::operator=(std::initializer_list<>)): Likewise.
81 * include/debug/multimap.h
82 (multimap::operator=(std::initializer_list<>)): Likewise.
83 * include/debug/set.h (set::swap(set&)): Add noexcept
84 specification, add allocator equality check.
85 * include/debug/map.h (map::swap(map&)): Likewise.
86 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
87 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
88
89 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
90
91 PR libstdc++/59698
92 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
93 and stylistic improvements.
94 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
95 and update for C++11.
96 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
97
98 PR libstdc++/59687
99 * doc/xml/manual/backwards_compatibility.xml
100 (backwards.third.nocreate_noreplace): Correct and expand.
101
102 PR libstdc++/59699
103 * doc/xml/manual/support.xml (std.support.types.null): Update links.
104
105 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
106
107 PR libstdc++/59738
108 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
109 support for non-Movable types.
110
111 PR libstdc++/59680
112 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
113
114 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
115
116 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
117 *this allocator instance when building temporary vector instance
118 so that *this allocator does not get moved.
119 * include/debug/safe_base.h
120 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
121 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
122 move constructor from _Safe_sequence_base.
123 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
124 safe iterators if the instance is moved.
125 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
126 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
127 check on a vector iterator.
128 * testsuite/23_containers/vector/allocator/move_assign.cc
129 (test02): Likewise.
130 (test03): New, test with a non-propagating allocator.
131 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
132
133 2014-01-07 Tim Shen <timshen91@gmail.com>
134
135 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
136 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
137 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
138 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
139 _BracketMatcher<>::_M_add_char(),
140 _BracketMatcher<>::_M_add_collating_element(),
141 _BracketMatcher<>::_M_add_equivalence_class(),
142 _BracketMatcher<>::_M_add_character_class(),
143 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
144 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
145 Fix _AnyMatcher behavior of POSIX style and move _M_flags
146 to template parameter; Add cache for _BracketMatcher. Adjust
147 declarations from here...
148 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
149 imbuing a regex will trigger a recompilation to rebuild the cache.
150 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
151 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
152 different template bool parameters.
153 * include/bits/regex_executor.h: Remove unnecessary declarations.
154 * include/std/regex: Adjust including orders.
155 * testsuite/28_regex/traits/char/user_defined.cc: New.
156 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
157
158 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
159
160 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
161 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
162 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
163 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
164 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
165
166 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
167
168 Update copyright years
169
170 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
171
172 * testsuite/18_support/new_handler.cc,
173 testsuite/18_support/terminate_handler.cc,
174 testsuite/18_support/unexpected_handler.cc: Use the standard form for
175 the copyright notice.
176 \f
177 Copyright (C) 2014 Free Software Foundation, Inc.
178
179 Copying and distribution of this file, with or without modification,
180 are permitted in any medium without royalty provided the copyright
181 notice and this notice are preserved.