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