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