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