1 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/stl_deque.h (_Deque_impl): Move comment.
6 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
7 Split into separate default constructor and constructor taking
9 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
10 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
12 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
13 * include/debug/list (list::list(const _Allocator&)): Likewise.
14 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
16 * include/debug/multimap.h
17 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
18 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
20 * include/debug/multiset.h
21 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
22 * include/debug/vector (vector::vector(const allocator_type&)):
24 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
25 * include/profile/list (list::list(const _Allocator&)): Likewise.
26 * include/profile/map.h
27 (map::map(const _Compare&, const _Allocator&)): Likewise.
28 * include/profile/multimap.h
29 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
30 * include/profile/set.h
31 (set::set(const _Compare&, const _Allocator&)): Likewise.
32 * include/profile/multiset.h
33 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
34 * include/profile/vector (vector::vector(const _Allocator&)):
36 * testsuite/23_containers/deque/58764.cc: New.
37 * testsuite/23_containers/list/58764.cc: New.
38 * testsuite/23_containers/map/58764.cc: New.
39 * testsuite/23_containers/multimap/58764.cc: New.
40 * testsuite/23_containers/set/58764.cc: New.
41 * testsuite/23_containers/multiset/58764.cc: New.
42 * testsuite/23_containers/vector/58764.cc: New.
43 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
44 Adjust dg-error line number.
45 * testsuite/23_containers/deque/requirements/dr438/
46 constructor_1_neg.cc: Likewise.
47 * testsuite/23_containers/deque/requirements/dr438/
48 constructor_2_neg.cc: Likewise.
49 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
51 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
53 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
55 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
57 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
59 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
61 * testsuite/23_containers/vector/requirements/dr438/
62 constructor_1_neg.cc: Likewise.
63 * testsuite/23_containers/vector/requirements/dr438/
64 constructor_2_neg.cc: Likewise.
65 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
68 2014-01-21 Tim Shen <timshen91@gmail.com>
70 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
71 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
72 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
74 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
77 * include/bits/hashtable.h (__cache_default): Do not depend on
78 whether the hash function is DefaultConstructible or CopyAssignable.
79 (_Hashtable): Adjust static assertions.
80 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
81 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
83 * testsuite/23_containers/unordered_set/
84 not_default_constructible_hash_neg.cc: Remove.
86 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
88 * scripts/create_testsuite_files: Add testsuite/experimental in
89 the list of folders to search for tests.
90 * include/experimental/string_view
91 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
92 incompatible with constexpr qualifier.
93 (basic_string_view<>::front()): Likewise.
94 (basic_string_view<>::back()): Likewise.
95 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
96 Merge dg-options directives into one.
97 * testsuite/experimental/string_view/element_access/char/2.cc:
98 Likewise. Remove invalid experimental namespace scope on
101 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
104 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
105 friendship to _Local_iterator_base<..., false>.
106 (_Local_iterator_base): Give protected access to all existing members.
107 (_Local_iterator_base::_M_curr()): New public accessor.
108 (_Local_iterator_base::_M_get_bucket()): New public accessor.
109 (_Local_iterator_base<..., false>::_M_init()): New function to manage
110 the lifetime of the _Hash_code_base explicitly.
111 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
112 (_Local_iterator_base<..., false>): Define copy constructor and copy
113 assignment operator that use new functions to manage _Hash_code_base.
114 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
115 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
116 Use public API for _Local_iterator_base.
117 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
118 * include/debug/unordered_map (__debug::unordered_map::erase(),
119 __debug::unordered_multimap::erase()): Likewise.
120 * include/debug/unordered_set (__debug::unordered_set::erase(),
121 __debug::unordered_multiset::erase()): Likewise.
122 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
124 2014-01-19 Tim Shen <timshen91@gmail.com>
126 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
127 Fix parse error of multiple consecutive quantifiers like "a**".
128 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
130 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
132 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
134 * include/profile/set.h (set): Implement C++11 allocator-aware
135 container requirements.
136 * include/profile/map.h (map): Likewise.
137 * include/profile/multiset.h (multiset): Likewise.
138 * include/profile/multimap.h (multimap): Likewise.
139 * include/profile/set.h
140 (set::operator=(const set&)): Define as default in C++11 mode.
141 (set::operator=(set&&)): Likewise.
142 * include/profile/map.h
143 (map::operator=(const map&)): Likewise.
144 (map::operator=(map&&)): Likewise.
145 * include/profile/multiset.h
146 (multiset::operator=(const multiset&)): Likewise.
147 (multiset::operator=(multiset&&)): Likewise.
148 * include/profile/multimap.h
149 (multimap::operator=(const multimap&)): Likewise.
150 (multimap::operator=(multimap&&)): Likewise.
151 * include/profile/set.h (set::operator=(std::initializer_list<>)):
152 Rely on the same operator from normal mode.
153 * include/profile/map.h (map::operator=(std::initializer_list<>)):
155 * include/profile/multiset.h
156 (multiset::operator=(std::initializer_list<>)): Likewise.
157 * include/profile/multimap.h
158 (multimap::operator=(std::initializer_list<>)): Likewise.
159 * include/profile/set.h (set::swap(set&)): Add noexcept
161 * include/profile/map.h (map::swap(map&)): Likewise.
162 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
163 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
165 2014-01-17 Tim Shen <timshen91@gmail.com>
167 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
169 * include/bits/regex_automaton.h: Do not use std::set.
170 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
171 _BracketMatcher<>::_M_add_collating_element(),
172 _BracketMatcher<>::_M_add_equivalence_class(),
173 _BracketMatcher<>::_M_make_range()): Likewise.
174 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
176 * include/bits/regex_executor.h: Do not use std::queue.
177 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
178 _Executor<>::_M_dfs()): Likewise.
179 * include/std/regex: Remove <map>, <set> and <queue>.
181 2014-01-17 Tim Shen <timshen91@gmail.com>
183 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
184 basic_regex<>::assign()): Change __compile_nfa to accept
186 * include/bits/regex_compiler.h: Change _Compiler's template
187 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
188 * include/bits/regex_compiler.tcc: Likewise.
190 2014-01-17 Tim Shen <timshen91@gmail.com>
192 * include/bits/regex_compiler.h: Change _ScannerT into char-type
194 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
195 _ScannerBase from _Scanner; Change _Scanner's template argument from
196 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
198 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
199 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
200 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
202 * include/std/regex: Add <cstring> for using strchr.
204 2014-01-17 Tim Shen <timshen91@gmail.com>
206 * bits/regex_automaton.tcc: Indentation fix.
207 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
208 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
209 _BracketMatcher<>): Add bool option template parameters and
210 specializations to make matching more efficient and space saving.
211 * bits/regex_compiler.tcc: Likewise.
213 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
216 * include/bits/hashtable_policy.h: Fix some long lines.
217 * include/bits/hashtable.h (__hash_code_base_access): Define and
218 use it to check its _M_bucket_index noexcept qualification. Use
220 (__access_protected_ctor): ...this.
221 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
223 * testsuite/23_containers/unordered_set/
224 not_default_constructible_hash_neg.cc: Likewise.
226 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
228 * include/debug/set.h (set): Implement C++11 allocator-aware
229 container requirements.
230 * include/debug/map.h (map): Likewise.
231 * include/debug/multiset.h (multiset): Likewise.
232 * include/debug/multimap.h (multimap): Likewise.
233 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
234 fix implementation regarding management of safe iterators.
235 * include/debug/map.h (map::operator=(map&&)): Likewise.
236 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
237 * include/debug/multimap.h (multimap::operator=(multimap&&)):
239 * include/debug/set.h (set::operator=(std::initializer_list<>)):
240 Rely on the same operator from normal mode.
241 * include/debug/map.h (map::operator=(std::initializer_list<>)):
243 * include/debug/multiset.h
244 (multiset::operator=(std::initializer_list<>)): Likewise.
245 * include/debug/multimap.h
246 (multimap::operator=(std::initializer_list<>)): Likewise.
247 * include/debug/set.h (set::swap(set&)): Add noexcept
248 specification, add allocator equality check.
249 * include/debug/map.h (map::swap(map&)): Likewise.
250 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
251 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
253 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
256 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
257 and stylistic improvements.
258 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
259 and update for C++11.
260 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
263 * doc/xml/manual/backwards_compatibility.xml
264 (backwards.third.nocreate_noreplace): Correct and expand.
267 * doc/xml/manual/support.xml (std.support.types.null): Update links.
269 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
272 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
273 support for non-Movable types.
276 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
278 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
280 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
281 *this allocator instance when building temporary vector instance
282 so that *this allocator does not get moved.
283 * include/debug/safe_base.h
284 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
285 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
286 move constructor from _Safe_sequence_base.
287 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
288 safe iterators if the instance is moved.
289 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
290 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
291 check on a vector iterator.
292 * testsuite/23_containers/vector/allocator/move_assign.cc
294 (test03): New, test with a non-propagating allocator.
295 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
297 2014-01-07 Tim Shen <timshen91@gmail.com>
299 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
300 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
301 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
302 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
303 _BracketMatcher<>::_M_add_char(),
304 _BracketMatcher<>::_M_add_collating_element(),
305 _BracketMatcher<>::_M_add_equivalence_class(),
306 _BracketMatcher<>::_M_add_character_class(),
307 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
308 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
309 Fix _AnyMatcher behavior of POSIX style and move _M_flags
310 to template parameter; Add cache for _BracketMatcher. Adjust
311 declarations from here...
312 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
313 imbuing a regex will trigger a recompilation to rebuild the cache.
314 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
315 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
316 different template bool parameters.
317 * include/bits/regex_executor.h: Remove unnecessary declarations.
318 * include/std/regex: Adjust including orders.
319 * testsuite/28_regex/traits/char/user_defined.cc: New.
320 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
322 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
324 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
325 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
326 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
327 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
328 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
330 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
332 Update copyright years
334 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
336 * testsuite/18_support/new_handler.cc,
337 testsuite/18_support/terminate_handler.cc,
338 testsuite/18_support/unexpected_handler.cc: Use the standard form for
339 the copyright notice.
341 Copyright (C) 2014 Free Software Foundation, Inc.
343 Copying and distribution of this file, with or without modification,
344 are permitted in any medium without royalty provided the copyright
345 notice and this notice are preserved.