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