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