re PR libstdc++/60308 (std::deque leaks memory)
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
2
3 PR libstdc++/60308
4 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
5 allocator_type&)): Remove redundant call to _M_initialize_map.
6 (deque::deque(const allocator_type&)): Initialize _Base with a
7 constructor that calls _M_initialize_map.
8
9 Partial revert:
10
11 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
12 PR libstdc++/58338
13 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
14 _M_initialize_map.
15
16 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
17
18 Rename testsuite directory shared_mutex to shared_timed_mutex
19 for consistency.
20 * testsuite/30_threads/shared_mutex: Moved to...
21 * testsuite/30_threads/shared_timed_mutex: ...here
22
23 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
24
25 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
26 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
27 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
28 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
29 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
30 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
31 * testsuite/30_threads/shared_lock/requirements/
32 explicit_instantiation.cc: Ditto.
33 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
34 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
35 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
36 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
37 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
38 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
39 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
40 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
41 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
42 * testsuite/30_threads/shared_mutex/requirements/
43 standard_layout.cc: Ditto.
44 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
45 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
46 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
47 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
48 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
49
50 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
51
52 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
53 execution on i?86-*-solaris2.9, remove comment.
54 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
55
56 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
57
58 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
59 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
60 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
61
62 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
63
64 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
65 not use varargs when argument could be non-POD.
66 (__alloctr_rebind_helper): Eliminate static const bool member by
67 using true_type and false_type.
68 (allocator_traits::__allocate_helper): Likewise.
69 (allocator_traits::__construct_helper): Likewise.
70 (allocator_traits::__destroy_helper): Likewise.
71 (allocator_traits::__maxsize_helper): Likewise.
72 (allocator_traits::__select_helper): Likewise.
73 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
74 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
75 Remove redundant condition.
76 * include/bits/stl_vector.h (vector::operator=(const vector&)):
77 Likewise.
78 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
79 indirection through __alloc_traits.
80 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
81 Eliminate static const bool members by using true_type and false_type.
82 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
83 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
84 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
85 New.
86 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
87
88 PR libstdc++/59829
89 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
90 (vector::_M_data_ptr): New overloaded functions to ensure empty
91 vectors do not dereference the pointer.
92 * testsuite/23_containers/vector/59829.cc: New.
93 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
94 Adjust dg-error line number.
95 * testsuite/23_containers/vector/requirements/dr438/
96 constructor_1_neg.cc: Likewise.
97 * testsuite/23_containers/vector/requirements/dr438/
98 constructor_2_neg.cc: Likewise.
99 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
100 Likewise.
101
102 PR libstdc++/21609
103 * include/ext/array_allocator.h: Add deprecated attribute.
104
105 PR libstdc++/57226
106 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
107 installation and use of python printers.
108 * doc/xml/manual/status_cxx2011.xml: Update.
109 * doc/html/*: Regenerate.
110
111 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
112 Kyle Lippincott <spectral@google.com>
113
114 PR libstdc++/59656
115 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
116 constructor and grant friendship to weak_ptr.
117 (weak_ptr::lock()): Use new constructor.
118 * include/bits/shared_ptr_base.h
119 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
120 and define specializations.
121 (__shared_count): Add new non-throwing constructor.
122 (__shared_ptr): Add new non-throwing constructor and grant friendship
123 to __weak_ptr.
124 (__weak_ptr::lock()): Use new constructor.
125 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
126 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
127
128 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
129
130 PR libstdc++/59215
131 * include/bits/shared_ptr_base.h
132 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
133 load.
134
135 2014-01-27 Jason Merrill <jason@redhat.com>
136
137 Core DR 475
138 PR c++/41174
139 PR c++/59224
140 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
141 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
142 (__cxa_allocate_exception): Don't set it here.
143
144 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
145
146 * include/bits/stl_map.h: Remove anachronistic comment.
147 * include/bits/stl_multimap.h: Add whitespace.
148 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
149 -std=gnu++11 instead of -std=c++11.
150 * testsuite/23_containers/map/operators/2.cc: Likewise.
151 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
152 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
153 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
154
155 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
156 * configure: Regenerate.
157
158 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
159
160 PR libstdc++/59531
161 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
162 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
163
164 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
165 Peter A. Bigot <pab@pabigot.com>
166
167 PR libstdc++/59531
168 * include/experimental/string_view
169 (copy(_CharT*, size_type, size_type) const): Correct throw string.
170 Correct copy start location.
171
172 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
173 Peter A. Bigot <pab@pabigot.com>
174
175 PR libstdc++/59530
176 * include/experimental/string_view (operator[](size_type) const):
177 Fix one-off index error in debug check.
178 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
179 test basic_string_view at size().
180 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
181
182 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
183 Peter A. Bigot <pab@pabigot.com>
184
185 PR libstdc++/59529
186 * include/experimental/string_view
187 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
188 * testsuite/experimental/string_view/operations/substr/char/1.cc:
189 Comment out catch of out_of_range; No terminating null
190 in basic_string_view. Check begin == end.
191 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
192 Ditto.
193
194 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
195
196 PR libstdc++/59548
197 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
198 constructor to prevent it being implicitly defined as deleted, but
199 do not copy anything.
200 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
201 Define copy and move constructors similar to _Safe_sequence_base's.
202 * testsuite/23_containers/unordered_map/59548.cc: New.
203
204 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
205 Steve Ellcey <sellcey@mips.com>
206
207 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
208 function.
209 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
210 * (configure, config.h.in): Regenerate.
211 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
212
213 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
214
215 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
216 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
217
218 PR libstdc++/59872
219 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
220 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
221 Likewise.
222 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
223 Likewise.
224 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
225 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
226 functions to perform moving or copying of elements from rvalue tree.
227 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
228 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
229 * testsuite/23_containers/map/59872.cc: New.
230 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
231
232 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
233
234 * include/bits/stl_deque.h (_Deque_impl): Move comment.
235
236 PR libstdc++/58764
237 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
238 Split into separate default constructor and constructor taking
239 allocator.
240 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
241 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
242 Likewise.
243 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
244 * include/debug/list (list::list(const _Allocator&)): Likewise.
245 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
246 Likewise.
247 * include/debug/multimap.h
248 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
249 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
250 Likewise.
251 * include/debug/multiset.h
252 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
253 * include/debug/vector (vector::vector(const allocator_type&)):
254 Likewise.
255 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
256 * include/profile/list (list::list(const _Allocator&)): Likewise.
257 * include/profile/map.h
258 (map::map(const _Compare&, const _Allocator&)): Likewise.
259 * include/profile/multimap.h
260 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
261 * include/profile/set.h
262 (set::set(const _Compare&, const _Allocator&)): Likewise.
263 * include/profile/multiset.h
264 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
265 * include/profile/vector (vector::vector(const _Allocator&)):
266 Likewise.
267 * testsuite/23_containers/deque/58764.cc: New.
268 * testsuite/23_containers/list/58764.cc: New.
269 * testsuite/23_containers/map/58764.cc: New.
270 * testsuite/23_containers/multimap/58764.cc: New.
271 * testsuite/23_containers/set/58764.cc: New.
272 * testsuite/23_containers/multiset/58764.cc: New.
273 * testsuite/23_containers/vector/58764.cc: New.
274 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
275 Adjust dg-error line number.
276 * testsuite/23_containers/deque/requirements/dr438/
277 constructor_1_neg.cc: Likewise.
278 * testsuite/23_containers/deque/requirements/dr438/
279 constructor_2_neg.cc: Likewise.
280 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
281 Likewise.
282 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
283 Likewise.
284 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
285 Likewise.
286 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
287 Likewise.
288 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
289 Likewise.
290 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
291 Likewise.
292 * testsuite/23_containers/vector/requirements/dr438/
293 constructor_1_neg.cc: Likewise.
294 * testsuite/23_containers/vector/requirements/dr438/
295 constructor_2_neg.cc: Likewise.
296 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
297 Likewise.
298
299 PR libstdc++/58764 (again)
300 * include/bits/stl_list.h (list): Make default constructor's exception
301 specification conditional.
302 * include/bits/stl_vector.h (vector): Likewise.
303 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
304 to default constructor.
305 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
306 Adjust dg-error line number.
307 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
308 Likewise.
309 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
310 Likewise.
311 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
312 Likewise.
313 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
314 Likewise.
315 * testsuite/23_containers/vector/requirements/dr438/
316 constructor_1_neg.cc: Likewise.
317 * testsuite/23_containers/vector/requirements/dr438/
318 constructor_2_neg.cc: Likewise.
319 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
320 Likewise.
321
322 2014-01-21 Tim Shen <timshen91@gmail.com>
323
324 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
325 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
326 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
327
328 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
329
330 PR libstdc++/56267
331 * include/bits/hashtable.h (__cache_default): Do not depend on
332 whether the hash function is DefaultConstructible or CopyAssignable.
333 (_Hashtable): Adjust static assertions.
334 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
335 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
336 dg-error line number.
337 * testsuite/23_containers/unordered_set/
338 not_default_constructible_hash_neg.cc: Remove.
339
340 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
341
342 * scripts/create_testsuite_files: Add testsuite/experimental in
343 the list of folders to search for tests.
344 * include/experimental/string_view
345 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
346 incompatible with constexpr qualifier.
347 (basic_string_view<>::front()): Likewise.
348 (basic_string_view<>::back()): Likewise.
349 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
350 Merge dg-options directives into one.
351 * testsuite/experimental/string_view/element_access/char/2.cc:
352 Likewise. Remove invalid experimental namespace scope on
353 string_view_type.
354
355 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
356
357 PR libstdc++/56267
358 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
359 friendship to _Local_iterator_base<..., false>.
360 (_Local_iterator_base): Give protected access to all existing members.
361 (_Local_iterator_base::_M_curr()): New public accessor.
362 (_Local_iterator_base::_M_get_bucket()): New public accessor.
363 (_Local_iterator_base<..., false>::_M_init()): New function to manage
364 the lifetime of the _Hash_code_base explicitly.
365 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
366 (_Local_iterator_base<..., false>): Define copy constructor and copy
367 assignment operator that use new functions to manage _Hash_code_base.
368 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
369 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
370 Use public API for _Local_iterator_base.
371 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
372 * include/debug/unordered_map (__debug::unordered_map::erase(),
373 __debug::unordered_multimap::erase()): Likewise.
374 * include/debug/unordered_set (__debug::unordered_set::erase(),
375 __debug::unordered_multiset::erase()): Likewise.
376 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
377
378 2014-01-19 Tim Shen <timshen91@gmail.com>
379
380 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
381 Fix parse error of multiple consecutive quantifiers like "a**".
382 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
383 Likewise.
384 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
385
386 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
387
388 * include/profile/set.h (set): Implement C++11 allocator-aware
389 container requirements.
390 * include/profile/map.h (map): Likewise.
391 * include/profile/multiset.h (multiset): Likewise.
392 * include/profile/multimap.h (multimap): Likewise.
393 * include/profile/set.h
394 (set::operator=(const set&)): Define as default in C++11 mode.
395 (set::operator=(set&&)): Likewise.
396 * include/profile/map.h
397 (map::operator=(const map&)): Likewise.
398 (map::operator=(map&&)): Likewise.
399 * include/profile/multiset.h
400 (multiset::operator=(const multiset&)): Likewise.
401 (multiset::operator=(multiset&&)): Likewise.
402 * include/profile/multimap.h
403 (multimap::operator=(const multimap&)): Likewise.
404 (multimap::operator=(multimap&&)): Likewise.
405 * include/profile/set.h (set::operator=(std::initializer_list<>)):
406 Rely on the same operator from normal mode.
407 * include/profile/map.h (map::operator=(std::initializer_list<>)):
408 Likewise.
409 * include/profile/multiset.h
410 (multiset::operator=(std::initializer_list<>)): Likewise.
411 * include/profile/multimap.h
412 (multimap::operator=(std::initializer_list<>)): Likewise.
413 * include/profile/set.h (set::swap(set&)): Add noexcept
414 specification.
415 * include/profile/map.h (map::swap(map&)): Likewise.
416 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
417 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
418
419 2014-01-17 Tim Shen <timshen91@gmail.com>
420
421 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
422 use std::map.
423 * include/bits/regex_automaton.h: Do not use std::set.
424 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
425 _BracketMatcher<>::_M_add_collating_element(),
426 _BracketMatcher<>::_M_add_equivalence_class(),
427 _BracketMatcher<>::_M_make_range()): Likewise.
428 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
429 Likewise.
430 * include/bits/regex_executor.h: Do not use std::queue.
431 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
432 _Executor<>::_M_dfs()): Likewise.
433 * include/std/regex: Remove <map>, <set> and <queue>.
434
435 2014-01-17 Tim Shen <timshen91@gmail.com>
436
437 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
438 basic_regex<>::assign()): Change __compile_nfa to accept
439 const _CharT* only.
440 * include/bits/regex_compiler.h: Change _Compiler's template
441 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
442 * include/bits/regex_compiler.tcc: Likewise.
443
444 2014-01-17 Tim Shen <timshen91@gmail.com>
445
446 * include/bits/regex_compiler.h: Change _ScannerT into char-type
447 templated.
448 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
449 _ScannerBase from _Scanner; Change _Scanner's template argument from
450 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
451 instead.
452 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
453 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
454 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
455 Likewise.
456 * include/std/regex: Add <cstring> for using strchr.
457
458 2014-01-17 Tim Shen <timshen91@gmail.com>
459
460 * bits/regex_automaton.tcc: Indentation fix.
461 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
462 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
463 _BracketMatcher<>): Add bool option template parameters and
464 specializations to make matching more efficient and space saving.
465 * bits/regex_compiler.tcc: Likewise.
466
467 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
468
469 PR libstdc++/59712
470 * include/bits/hashtable_policy.h: Fix some long lines.
471 * include/bits/hashtable.h (__hash_code_base_access): Define and
472 use it to check its _M_bucket_index noexcept qualification. Use
473 also in place of...
474 (__access_protected_ctor): ...this.
475 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
476 Adapt line number.
477 * testsuite/23_containers/unordered_set/
478 not_default_constructible_hash_neg.cc: Likewise.
479
480 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
481
482 * include/debug/set.h (set): Implement C++11 allocator-aware
483 container requirements.
484 * include/debug/map.h (map): Likewise.
485 * include/debug/multiset.h (multiset): Likewise.
486 * include/debug/multimap.h (multimap): Likewise.
487 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
488 fix implementation regarding management of safe iterators.
489 * include/debug/map.h (map::operator=(map&&)): Likewise.
490 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
491 * include/debug/multimap.h (multimap::operator=(multimap&&)):
492 Likewise.
493 * include/debug/set.h (set::operator=(std::initializer_list<>)):
494 Rely on the same operator from normal mode.
495 * include/debug/map.h (map::operator=(std::initializer_list<>)):
496 Likewise.
497 * include/debug/multiset.h
498 (multiset::operator=(std::initializer_list<>)): Likewise.
499 * include/debug/multimap.h
500 (multimap::operator=(std::initializer_list<>)): Likewise.
501 * include/debug/set.h (set::swap(set&)): Add noexcept
502 specification, add allocator equality check.
503 * include/debug/map.h (map::swap(map&)): Likewise.
504 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
505 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
506
507 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
508
509 PR libstdc++/59698
510 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
511 and stylistic improvements.
512 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
513 and update for C++11.
514 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
515
516 PR libstdc++/59687
517 * doc/xml/manual/backwards_compatibility.xml
518 (backwards.third.nocreate_noreplace): Correct and expand.
519
520 PR libstdc++/59699
521 * doc/xml/manual/support.xml (std.support.types.null): Update links.
522
523 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
524
525 PR libstdc++/59738
526 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
527 support for non-Movable types.
528
529 PR libstdc++/59680
530 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
531
532 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
533
534 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
535 *this allocator instance when building temporary vector instance
536 so that *this allocator does not get moved.
537 * include/debug/safe_base.h
538 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
539 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
540 move constructor from _Safe_sequence_base.
541 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
542 safe iterators if the instance is moved.
543 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
544 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
545 check on a vector iterator.
546 * testsuite/23_containers/vector/allocator/move_assign.cc
547 (test02): Likewise.
548 (test03): New, test with a non-propagating allocator.
549 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
550
551 2014-01-07 Tim Shen <timshen91@gmail.com>
552
553 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
554 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
555 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
556 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
557 _BracketMatcher<>::_M_add_char(),
558 _BracketMatcher<>::_M_add_collating_element(),
559 _BracketMatcher<>::_M_add_equivalence_class(),
560 _BracketMatcher<>::_M_add_character_class(),
561 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
562 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
563 Fix _AnyMatcher behavior of POSIX style and move _M_flags
564 to template parameter; Add cache for _BracketMatcher. Adjust
565 declarations from here...
566 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
567 imbuing a regex will trigger a recompilation to rebuild the cache.
568 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
569 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
570 different template bool parameters.
571 * include/bits/regex_executor.h: Remove unnecessary declarations.
572 * include/std/regex: Adjust including orders.
573 * testsuite/28_regex/traits/char/user_defined.cc: New.
574 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
575
576 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
577
578 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
579 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
580 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
581 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
582 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
583
584 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
585
586 Update copyright years
587
588 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
589
590 * testsuite/18_support/new_handler.cc,
591 testsuite/18_support/terminate_handler.cc,
592 testsuite/18_support/unexpected_handler.cc: Use the standard form for
593 the copyright notice.
594 \f
595 Copyright (C) 2014 Free Software Foundation, Inc.
596
597 Copying and distribution of this file, with or without modification,
598 are permitted in any medium without royalty provided the copyright
599 notice and this notice are preserved.