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