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