Merge branches/gcc-4_9-branch rev 209611 (FSF GCC 4.9.0 release).
[official-gcc.git] / gcc-4_9-branch / libstdc++-v3 / ChangeLog
bloba88c29a980cead8962d542b4edbd7a4ec3d4a886
1 2014-04-22  Release Manager
3         * GCC 4.9.0 released.
5 2014-04-10  Andreas Schwab  <schwab@suse.de>
7         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
8         symbols.
9         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
10         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
12         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
14 2014-04-07  Jonathan Wakely  <jwakely@redhat.com>
16         * testsuite/20_util/exchange/1.cc: Add missing return statements.
17         * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
18         * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
19         specifications.
21 2014-04-02  Dominique d'Humieres  <dominiq@lps.ens.fr>
22             Jack Howarth <howarth@bromo.med.uc.edu>
24         PR target/54407
25         * testsuite/30_threads/condition_variable/54185.cc: Skip for
26         darwin < 11.
28 2014-04-01  Jonathan Wakely  <jwakely@redhat.com>
30         * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
31         Update link.
32         * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
33         Fix broken links.
34         * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
35         * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
36         * doc/xml/manual/concurrency_extensions.xml
37         (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
38         * doc/html/*: Regenerate.
40 2014-03-31  Lars Gullik Bjønnes  <larsbj@gullik.org>
41             Jonathan Wakely  <jwakely@redhat.com>
43         PR libstdc++/60270
44         * include/std/iomanip (_Quoted_string operator>>): Do not clear
45         string if input is not quoted.
46         * testsuite/27_io/manipulators/standard/char/60270.cc: New.
48 2014-03-31  Jonathan Wakely  <jwakely@redhat.com>
50         * libsupc++/eh_ptr.cc: Improve static_assert messages.
52 2014-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
54         * testsuite/18_support/exception_ptr/60612-terminate.cc
55         (terminate, f): Wrap in _GLIBCXX_USE_C99.
56         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
58 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
60         * doc/xml/manual/io.xml (std.io.objects): Additional markup.
62         * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
63         * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
64         Likewise.
65         * doc/xml/manual/backwards_compatibility.xml (backwards.third):
66         Likewise.
67         * doc/xml/manual/test.xml (test.organization.layout): Likewise.
69         * doc/xml/manual/containers.xml (associative.bitset.size_variable):
70         Fix bad s/part/chapter/ substitutions.
71         * doc/xml/manual/io.xml (std.io): Likewise.
72         * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
73         * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
75         * doc/html/*: Regenerate.
77 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
79         PR libstdc++/60612
80         * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
81         compatible with __cxa_exception.
82         * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
83         Fix typos in comments.
84         * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
85         * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
87 2014-03-25  Jonathan Wakely  <jwakely@redhat.com>
89         PR libstdc++/60658
90         * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
91         Use sizeof pointer type not the element type.
92         * testsuite/29_atomics/atomic/60658.cc: New.
94 2014-03-24  Jakub Jelinek  <jakub@redhat.com>
96         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
97         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
98         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
99         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
100         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
101         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
102         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
103         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
104         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
105         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
106         entries.
108 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
110         * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
112 2014-03-23  François Dumont  <fdumont@gcc.gnu.org>
114         * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
115         to delegated constructor.
116         (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
117         (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
118         Likewise.
119         (_Hashtable(
120         initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
122 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
124         PR libstdc++/60623
125         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
127 2014-03-21  Jonathan Wakely  <jwakely@redhat.com>
129         PR libstdc++/60587
130         * include/debug/functions.h (_Is_contiguous_sequence): Define.
131         (__foreign_iterator): Accept additional iterator. Do not dispatch on
132         iterator category.
133         (__foreign_iterator_aux2): Likewise. Add overload for iterators
134         from different types of debug container. Use _Is_contiguous_sequence
135         instead of is_lvalue_reference.
136         (__foreign_iterator_aux3): Accept additional iterator. Avoid
137         dereferencing past-the-end iterator.
138         (__foreign_iterator_aux4): Use const value_type* instead of
139         potentially user-defined const_pointer type.
140         * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
141         and pass end iterator to __gnu_debug::__foreign_iterator.
142         (__glibcxx_check_insert_range_after): Likewise.
143         (__glibcxx_check_max_load_factor): Fix comment.
144         * include/debug/vector (_Is_contiguous_sequence): Define partial
145         specializations.
146         * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
147         -std=gnu++11 option and unused header.
148         * testsuite/23_containers/vector/debug/60587.cc: New.
149         * testsuite/23_containers/vector/debug/60587_neg.cc: New.
151 2014-03-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
153         * crossconfig.m4: Support spu-*-elf* targets.
154         * configure: Regenerate.
156 2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
158         PR libstdc++/60564
159         * include/std/future (__future_base::_Task_state<>): Change
160         constructors to template functions using perfect forwarding.
161         (__create_task_state): Use decayed type as stored task.
162         (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
163         * testsuite/30_threads/packaged_task/60564.cc: New.
165 2014-03-16  François Dumont  <fdumont@gcc.gnu.org>
167         * scripts/create_testsuite_files: Add testsuite/experimental in
168         the list of folders to search for tests.
170 2014-03-15  Andreas Schwab  <schwab@linux-m68k.org>
172         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
174 2014-03-15  Tim Shen  <timshen91@gmail.com>
176         * include/bits/regex.h: Add/modify comments.
177         * include/bits/regex_compiler.h: Likewise.
178         * include/bits/regex_executor.h: Likewise.
179         * include/bits/regex_executor.tcc: Likewise.
180         * include/bits/regex_scanner.h: Likewise.
182 2014-03-14  Jonathan Wakely  <jwakely@redhat.com>
184         PR ipa/58721
185         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
186         _ZNSt12system_errorC* symbols which are not exported on any target.
188 2014-03-12  Roland McGrath  <mcgrathr@google.com>
189             Mark Seaborn  <mseaborn@google.com>
191         PR libstdc++/59392
192         * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
193         the address of a null pointer, not with a null pointer to pointer.
194         Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
195         * testsuite/18_support/bad_exception/59392.cc: New file.
197 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
199         PR libstdc++/60499
200         * include/debug/forward_list (forward_list::operator=(forward_list&&)):
201         Uglify name.
202         * include/debug/map (map::operator=(map&&)): Likewise.
203         * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
204         * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
205         * include/debug/set (set::operator=(set&&)): Likewise.
206         * include/debug/unordered_map
207         (unordered_map::operator=(unordered_map&&)): Likewise.
208         (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
209         * include/debug/unordered_set
210         (unordered_set::operator=(unordered_set&&)): Likewise.
211         (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
212         * include/debug/vector (vector::operator=(vector&&)): Likewise.
213         * testsuite/23_containers/forward_list/debug/60499.cc: New
214         * testsuite/23_containers/map/debug/60499.cc: New
215         * testsuite/23_containers/multimap/debug/60499.cc: New
216         * testsuite/23_containers/multiset/debug/60499.cc: New
217         * testsuite/23_containers/set/debug/60499.cc: New
218         * testsuite/23_containers/unordered_map/debug/60499.cc: New
219         * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
220         * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
221         * testsuite/23_containers/unordered_set/debug/60499.cc: New
222         * testsuite/23_containers/vector/debug/60499.cc: New
224 2014-03-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
226         * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
227         for filesystem and fundamentals TS work items.
229 2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
231         PR c++/60376
232         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
233         Adjust dg-error directives.
235 2014-02-26  Tim Shen  <timshen91@gmail.com>
237         * include/bits/regex.tcc (match_results<>::format,
238         regex_replace<>): Update __out after calling std::copy.
239         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
240         Add testcase.
241         * testsuite/28_regex/match_results/format.cc: Likewise.
243 2014-02-22  Marc Glisse  <marc.glisse@inria.fr>
245         PR libstdc++/60308
246         * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
247         allocator_type&)): Remove redundant call to _M_initialize_map.
248         (deque::deque(const allocator_type&)): Initialize _Base with a
249         constructor that calls _M_initialize_map.
251         Partial revert:
253         2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
254         PR libstdc++/58338
255         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
256         _M_initialize_map.
258 2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
260         Rename testsuite directory shared_mutex to shared_timed_mutex
261         for consistency.
262         * testsuite/30_threads/shared_mutex: Moved to...
263         * testsuite/30_threads/shared_timed_mutex: ...here
265 2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
267         Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
268         * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
269         * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
270         * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
271         * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
272         * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
273         * testsuite/30_threads/shared_lock/requirements/
274         explicit_instantiation.cc: Ditto.
275         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
276         * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
277         * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
278         * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
279         * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
280         * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
281         * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
282         * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
283         * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
284         * testsuite/30_threads/shared_mutex/requirements/
285         standard_layout.cc: Ditto.
286         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
287         * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
288         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
289         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
290         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
292 2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
294         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
295         execution on i?86-*-solaris2.9, remove comment.
296         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
298 2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
300         * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
301         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
302         * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
304 2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
306         * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
307         not use varargs when argument could be non-POD.
308         (__alloctr_rebind_helper): Eliminate static const bool member by
309         using true_type and false_type.
310         (allocator_traits::__allocate_helper): Likewise.
311         (allocator_traits::__construct_helper): Likewise.
312         (allocator_traits::__destroy_helper): Likewise.
313         (allocator_traits::__maxsize_helper): Likewise.
314         (allocator_traits::__select_helper): Likewise.
315         * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
316         * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
317         Remove redundant condition.
318         * include/bits/stl_vector.h (vector::operator=(const vector&)):
319         Likewise.
320         (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
321         indirection through __alloc_traits.
322         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
323         Eliminate static const bool members by using true_type and false_type.
324         (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
325         * testsuite/util/testsuite_allocator.h (PointerBase): Define.
326         * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
327         New.
328         * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
330         PR libstdc++/59829
331         * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
332         (vector::_M_data_ptr): New overloaded functions to ensure empty
333         vectors do not dereference the pointer.
334         * testsuite/23_containers/vector/59829.cc: New.
335         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
336         Adjust dg-error line number.
337         * testsuite/23_containers/vector/requirements/dr438/
338         constructor_1_neg.cc: Likewise.
339         * testsuite/23_containers/vector/requirements/dr438/
340         constructor_2_neg.cc: Likewise.
341         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
342         Likewise.
344         PR libstdc++/21609
345         * include/ext/array_allocator.h: Add deprecated attribute.
347         PR libstdc++/57226
348         * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
349         installation and use of python printers.
350         * doc/xml/manual/status_cxx2011.xml: Update.
351         * doc/html/*: Regenerate.
353 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
354             Kyle Lippincott  <spectral@google.com>
356         PR libstdc++/59656
357         * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
358         constructor and grant friendship to weak_ptr.
359         (weak_ptr::lock()): Use new constructor.
360         * include/bits/shared_ptr_base.h
361         (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
362         and define specializations.
363         (__shared_count): Add new non-throwing constructor.
364         (__shared_ptr): Add new non-throwing constructor and grant friendship
365         to __weak_ptr.
366         (__weak_ptr::lock()): Use new constructor.
367         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
368         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
370 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
372         PR libstdc++/59215
373         * include/bits/shared_ptr_base.h
374         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
375         load.
377 2014-01-27  Jason Merrill  <jason@redhat.com>
379         Core DR 475
380         PR c++/41174
381         PR c++/59224
382         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
383         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
384         (__cxa_allocate_exception): Don't set it here.
386 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
388         * include/bits/stl_map.h: Remove anachronistic comment.
389         * include/bits/stl_multimap.h: Add whitespace.
390         * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
391         -std=gnu++11 instead of -std=c++11.
392         * testsuite/23_containers/map/operators/2.cc: Likewise.
393         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
394         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
395         * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
397         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
398         * configure: Regenerate.
400 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
402         PR libstdc++/59531
403         * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
404         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
406 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
407             Peter A. Bigot <pab@pabigot.com>
409         PR libstdc++/59531
410         * include/experimental/string_view
411         (copy(_CharT*, size_type, size_type) const): Correct throw string.
412         Correct copy start location.
414 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
415             Peter A. Bigot <pab@pabigot.com>
417         PR libstdc++/59530
418         * include/experimental/string_view (operator[](size_type) const):
419         Fix one-off index error in debug check.
420         * testsuite/experimental/string_view/element_access/char/1.cc: Don't
421         test basic_string_view at size().
422         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
424 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
425             Peter A. Bigot <pab@pabigot.com>
427         PR libstdc++/59529
428         * include/experimental/string_view
429         (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
430         * testsuite/experimental/string_view/operations/substr/char/1.cc:
431         Comment out catch of out_of_range; No terminating null
432         in basic_string_view.  Check begin == end.
433         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
434         Ditto.
436 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
438         PR libstdc++/59548
439         * include/debug/safe_base.h (_Safe_sequence_base): Define copy
440         constructor to prevent it being implicitly defined as deleted, but
441         do not copy anything.
442         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
443         Define copy and move constructors similar to _Safe_sequence_base's.
444         * testsuite/23_containers/unordered_map/59548.cc: New.
446 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
447             Steve Ellcey  <sellcey@mips.com>
449         * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
450         function.
451         * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
452         * (configure, config.h.in): Regenerate.
453         * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
455 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
457         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
458         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
460         PR libstdc++/59872
461         * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
462         * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
463         Likewise.
464         * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
465         Likewise.
466         * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
467         * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
468         functions to perform moving or copying of elements from rvalue tree.
469         (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
470         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
471         * testsuite/23_containers/map/59872.cc: New.
472         * testsuite/23_containers/map/56613.cc: Remove duplicate include.
474 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
476         * include/bits/stl_deque.h (_Deque_impl): Move comment.
478         PR libstdc++/58764
479         * include/bits/stl_deque.h (deque::deque(const allocator_type&):
480         Split into separate default constructor and constructor taking
481         allocator.
482         * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
483         * include/bits/stl_vector.h (vector::vector(const allocator_type&):
484         Likewise.
485         * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
486         * include/debug/list (list::list(const _Allocator&)): Likewise.
487         * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
488         Likewise.
489         * include/debug/multimap.h
490         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
491         * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
492         Likewise.
493         * include/debug/multiset.h
494         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
495         * include/debug/vector (vector::vector(const allocator_type&)):
496         Likewise.
497         * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
498         * include/profile/list (list::list(const _Allocator&)): Likewise.
499         * include/profile/map.h
500         (map::map(const _Compare&, const _Allocator&)): Likewise.
501         * include/profile/multimap.h
502         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
503         * include/profile/set.h
504         (set::set(const _Compare&, const _Allocator&)): Likewise.
505         * include/profile/multiset.h
506         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
507         * include/profile/vector (vector::vector(const _Allocator&)):
508         Likewise.
509         * testsuite/23_containers/deque/58764.cc: New.
510         * testsuite/23_containers/list/58764.cc: New.
511         * testsuite/23_containers/map/58764.cc: New.
512         * testsuite/23_containers/multimap/58764.cc: New.
513         * testsuite/23_containers/set/58764.cc: New.
514         * testsuite/23_containers/multiset/58764.cc: New.
515         * testsuite/23_containers/vector/58764.cc: New.
516         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
517         Adjust dg-error line number.
518         * testsuite/23_containers/deque/requirements/dr438/
519         constructor_1_neg.cc: Likewise.
520         * testsuite/23_containers/deque/requirements/dr438/
521         constructor_2_neg.cc: Likewise.
522         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
523         Likewise.
524         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
525         Likewise.
526         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
527         Likewise.
528         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
529         Likewise.
530         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
531         Likewise.
532         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
533         Likewise.
534         * testsuite/23_containers/vector/requirements/dr438/
535         constructor_1_neg.cc: Likewise.
536         * testsuite/23_containers/vector/requirements/dr438/
537         constructor_2_neg.cc: Likewise.
538         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
539         Likewise.
541         PR libstdc++/58764 (again)
542         * include/bits/stl_list.h (list): Make default constructor's exception
543         specification conditional.
544         * include/bits/stl_vector.h (vector): Likewise.
545         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
546         to default constructor.
547         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
548         Adjust dg-error line number.
549         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
550         Likewise.
551         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
552         Likewise.
553         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
554         Likewise.
555         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
556         Likewise.
557         * testsuite/23_containers/vector/requirements/dr438/
558         constructor_1_neg.cc: Likewise.
559         * testsuite/23_containers/vector/requirements/dr438/
560         constructor_2_neg.cc: Likewise.
561         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
562         Likewise.
564 2014-01-21  Tim Shen  <timshen91@gmail.com>
566         * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
567         * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
568         * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
570 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
572         PR libstdc++/56267
573         * include/bits/hashtable.h (__cache_default): Do not depend on
574         whether the hash function is DefaultConstructible or CopyAssignable.
575         (_Hashtable): Adjust static assertions.
576         * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
577         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
578         dg-error line number.
579         * testsuite/23_containers/unordered_set/
580         not_default_constructible_hash_neg.cc: Remove.
582 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
584         * scripts/create_testsuite_files: Add testsuite/experimental in
585         the list of folders to search for tests.
586         * include/experimental/string_view
587         (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
588         incompatible with constexpr qualifier.
589         (basic_string_view<>::front()): Likewise.
590         (basic_string_view<>::back()): Likewise.
591         * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
592         Merge dg-options directives into one.
593         * testsuite/experimental/string_view/element_access/char/2.cc:
594         Likewise. Remove invalid experimental namespace scope on
595         string_view_type.
597 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
599         PR libstdc++/56267
600         * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
601         friendship to _Local_iterator_base<..., false>.
602         (_Local_iterator_base): Give protected access to all existing members.
603         (_Local_iterator_base::_M_curr()): New public accessor.
604         (_Local_iterator_base::_M_get_bucket()): New public accessor.
605         (_Local_iterator_base<..., false>::_M_init()): New function to manage
606         the lifetime of the _Hash_code_base explicitly.
607         (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
608         (_Local_iterator_base<..., false>): Define copy constructor and copy
609         assignment operator that use new functions to manage _Hash_code_base.
610         (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
611         operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
612         Use public API for _Local_iterator_base.
613         * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
614         * include/debug/unordered_map (__debug::unordered_map::erase(),
615         __debug::unordered_multimap::erase()): Likewise.
616         * include/debug/unordered_set (__debug::unordered_set::erase(),
617         __debug::unordered_multiset::erase()): Likewise.
618         * testsuite/23_containers/unordered_set/56267-2.cc: New test.
620 2014-01-19  Tim Shen  <timshen91@gmail.com>
622         * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
623         Fix parse error of multiple consecutive quantifiers like "a**".
624         * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
625         Likewise.
626         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
628 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
630         * include/profile/set.h (set): Implement C++11 allocator-aware
631         container requirements.
632         * include/profile/map.h (map): Likewise.
633         * include/profile/multiset.h (multiset): Likewise.
634         * include/profile/multimap.h (multimap): Likewise.
635         * include/profile/set.h
636         (set::operator=(const set&)): Define as default in C++11 mode.
637         (set::operator=(set&&)): Likewise.
638         * include/profile/map.h
639         (map::operator=(const map&)): Likewise.
640         (map::operator=(map&&)): Likewise.
641         * include/profile/multiset.h
642         (multiset::operator=(const multiset&)): Likewise.
643         (multiset::operator=(multiset&&)): Likewise.
644         * include/profile/multimap.h
645         (multimap::operator=(const multimap&)): Likewise.
646         (multimap::operator=(multimap&&)): Likewise.
647         * include/profile/set.h (set::operator=(std::initializer_list<>)):
648         Rely on the same operator from normal mode.
649         * include/profile/map.h (map::operator=(std::initializer_list<>)):
650         Likewise.
651         * include/profile/multiset.h
652         (multiset::operator=(std::initializer_list<>)): Likewise.
653         * include/profile/multimap.h
654         (multimap::operator=(std::initializer_list<>)): Likewise.
655         * include/profile/set.h (set::swap(set&)): Add noexcept
656         specification.
657         * include/profile/map.h (map::swap(map&)): Likewise.
658         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
659         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
661 2014-01-17  Tim Shen  <timshen91@gmail.com>
663         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
664         use std::map.
665         * include/bits/regex_automaton.h: Do not use std::set.
666         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
667         _BracketMatcher<>::_M_add_collating_element(),
668         _BracketMatcher<>::_M_add_equivalence_class(),
669         _BracketMatcher<>::_M_make_range()): Likewise.
670         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
671         Likewise.
672         * include/bits/regex_executor.h: Do not use std::queue.
673         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
674         _Executor<>::_M_dfs()): Likewise.
675         * include/std/regex: Remove <map>, <set> and <queue>.
677 2014-01-17  Tim Shen  <timshen91@gmail.com>
679         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
680         basic_regex<>::assign()): Change __compile_nfa to accept
681         const _CharT* only.
682         * include/bits/regex_compiler.h: Change _Compiler's template
683         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
684         * include/bits/regex_compiler.tcc: Likewise.
686 2014-01-17  Tim Shen  <timshen91@gmail.com>
688         * include/bits/regex_compiler.h: Change _ScannerT into char-type
689         templated.
690         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
691         _ScannerBase from _Scanner; Change _Scanner's template argument from
692         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
693         instead.
694         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
695         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
696         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
697         Likewise.
698         * include/std/regex: Add <cstring> for using strchr.
700 2014-01-17  Tim Shen  <timshen91@gmail.com>
702         * bits/regex_automaton.tcc: Indentation fix.
703         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
704         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
705         _BracketMatcher<>): Add bool option template parameters and
706         specializations to make matching more efficient and space saving.
707         * bits/regex_compiler.tcc: Likewise.
709 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
711         PR libstdc++/59712
712         * include/bits/hashtable_policy.h: Fix some long lines.
713         * include/bits/hashtable.h (__hash_code_base_access): Define and
714         use it to check its _M_bucket_index noexcept qualification. Use
715         also in place of...
716         (__access_protected_ctor): ...this.
717         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
718         Adapt line number.
719         * testsuite/23_containers/unordered_set/
720         not_default_constructible_hash_neg.cc: Likewise.
722 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
724         * include/debug/set.h (set): Implement C++11 allocator-aware
725         container requirements.
726         * include/debug/map.h (map): Likewise.
727         * include/debug/multiset.h (multiset): Likewise.
728         * include/debug/multimap.h (multimap): Likewise.
729         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
730         fix implementation regarding management of safe iterators.
731         * include/debug/map.h (map::operator=(map&&)): Likewise.
732         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
733         * include/debug/multimap.h (multimap::operator=(multimap&&)):
734         Likewise.
735         * include/debug/set.h (set::operator=(std::initializer_list<>)):
736         Rely on the same operator from normal mode.
737         * include/debug/map.h (map::operator=(std::initializer_list<>)):
738         Likewise.
739         * include/debug/multiset.h
740         (multiset::operator=(std::initializer_list<>)): Likewise.
741         * include/debug/multimap.h
742         (multimap::operator=(std::initializer_list<>)): Likewise.
743         * include/debug/set.h (set::swap(set&)): Add noexcept
744         specification, add allocator equality check.
745         * include/debug/map.h (map::swap(map&)): Likewise.
746         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
747         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
749 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
751         PR libstdc++/59698
752         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
753         and stylistic improvements.
754         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
755         and update for C++11.
756         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
758         PR libstdc++/59687
759         * doc/xml/manual/backwards_compatibility.xml
760         (backwards.third.nocreate_noreplace): Correct and expand.
762         PR libstdc++/59699
763         * doc/xml/manual/support.xml (std.support.types.null): Update links.
765 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
767         PR libstdc++/59738
768         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
769         support for non-Movable types.
771         PR libstdc++/59680
772         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
774 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
776         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
777         *this allocator instance when building temporary vector instance
778         so that *this allocator does not get moved.
779         * include/debug/safe_base.h
780         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
781         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
782         move constructor from _Safe_sequence_base.
783         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
784         safe iterators if the instance is moved.
785         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
786         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
787         check on a vector iterator.
788         * testsuite/23_containers/vector/allocator/move_assign.cc
789         (test02): Likewise.
790         (test03): New, test with a non-propagating allocator.
791         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
793 2014-01-07  Tim Shen  <timshen91@gmail.com>
795         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
796         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
797         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
798         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
799         _BracketMatcher<>::_M_add_char(),
800         _BracketMatcher<>::_M_add_collating_element(),
801         _BracketMatcher<>::_M_add_equivalence_class(),
802         _BracketMatcher<>::_M_add_character_class(),
803         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
804         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
805         Fix _AnyMatcher behavior of POSIX style and move _M_flags
806         to template parameter; Add cache for _BracketMatcher. Adjust
807         declarations from here...
808         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
809         imbuing a regex will trigger a recompilation to rebuild the cache.
810         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
811         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
812         different template bool parameters.
813         * include/bits/regex_executor.h: Remove unnecessary declarations.
814         * include/std/regex: Adjust including orders.
815         * testsuite/28_regex/traits/char/user_defined.cc: New.
816         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
818 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
820         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
821         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
822         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
823         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
824         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
826 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
828         Update copyright years
830 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
832         * testsuite/18_support/new_handler.cc,
833         testsuite/18_support/terminate_handler.cc,
834         testsuite/18_support/unexpected_handler.cc: Use the standard form for
835         the copyright notice.
837 Copyright (C) 2014 Free Software Foundation, Inc.
839 Copying and distribution of this file, with or without modification,
840 are permitted in any medium without royalty provided the copyright
841 notice and this notice are preserved.