Preparatory work before subclass renaming
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob141a002a038ad7630c894b48fbe9622068034abc
1 2014-10-13  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/57350
4         * include/std/memory (align): Do not adjust correctly aligned address.
5         * testsuite/20_util/align/2.cc: New.
7 2014-10-13  Siva Chandra Reddy  <sivachandra@google.com>
9         * python/libstdcxx/v6/xmethods.py: Add xmethods for std::array,
10         std::deque, std::forward_list, std::list, std::vector.
11         * testsuite/libstdc++-xmethods/array.cc: New file.
12         * testsuite/libstdc++-xmethods/deque.cc: Likewise.
13         * testsuite/libstdc++-xmethods/forwardlist.cc: Likewise.
14         * testsuite/libstdc++-xmethods/list.cc: Likewise.
15         * testsuite/libstdc++-xmethods/vector.cc: Add tests.
17 2014-10-13  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
19         * include/std/memory (align): Define.
20         * testsuite/20_util/align/1.cc: New.
22 2014-10-13  Marc Glisse  <marc.glisse@inria.fr>
24         PR libstdc++/61347
25         PR libstdc++/63345
26         * include/bits/list.tcc (_List_base::_M_clear()): Delay cast so it
27         isn't done for the sentinel.
28         * include/bits/stl_list.h (_List_base::_M_size): Move...
29         (_List_base::_List_impl::_M_node): ... here.
30         (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
31         _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
32         _List_base::_M_node_count): Adapt to the move.
33         * 23_containers/list/requirements/dr438/assign_neg.cc: Update
34         line number.
35         * 23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
36         * 23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
37         * 23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
39 2014-10-10  Jonathan Wakely  <jwakely@redhat.com>
41         * testsuite/Makefile.in: Regenerate.
43 2014-10-10  Jonathan Wakely  <jwakely@redhat.com>
45         PR libstdc++/49561
46         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
47         * configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
48         * configure: Regenerate.
49         * include/Makefile.am (stamp-cxx11-abi): New target.
50         (c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
51         * include/Makefile.in: Regenerate.
52         * include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
53         define _GLIBCXX_DEFAULT_ABI_TAG.
54         * include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
55         Increment size.
56         (list::emplace(const_iterator, const value_type&)): Likewise.
57         (list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
58         list sizes.
59         * include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
60         (_List_base::_M_size): New data member in cxx11 ABI mode.
61         (_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
62         function.
63         (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
64         _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
65         _List_base::_M_distance, _List_base::_M_node_count): New functions for
66         accessing list size correctly for the ABI mode.
67         (_List_base::_List_base(_List_base&&)): Copy size and reset source.
68         (_List_base::_M_init()): Initialize size member.
69         (list::size()): Use _List_base::_M_node_count.
70         (list::swap(list&)): Swap sizes.
71         (list::splice(iterator, list&)): Update sizes.
72         (list::splice(iterator, list&, iterator)): Likewise.
73         (list::insert(iterator, const value_type&)): Update size.
74         (list::insert(iterator, _Args&&...)): Likewise.
75         (list::_M_erase(iterator)): Likewise.
76         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
77         Adjust.
78         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
79         Adjust.
80         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
81         Adjust.
82         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
83         Adjust.
84         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.
86 2014-10-09  Jonathan Wakely  <jwakely@redhat.com>
88         * doc/xml/manual/status_cxx2011.xml: Update.
89         * doc/html/manual/status.html: Regenerate.
91         PR libstdc++/63322
92         * include/std/atomic (atomic): Add assertion for trivially copyable.
93         * testsuite/29_atomics/atomic/60695.cc: Adjust line number.
95         PR libstdc++/61909
96         * include/std/functional (__is_location_invariant): Treat all
97         trivially copyable types as location invariant.
99 2014-10-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
101         PR libstdc++/60132
102         * include/std/type_traits (is_trivially_copyable,
103         is_trivially_constructible, is_trivially_default_constructible,
104         is_trivially_copy_constructible, is_trivially_move_constructible,
105         is_trivially_assignable, is_trivially_copy_assignable,
106         is_trivially_move_assignable): New.
107         * testsuite/20_util/is_trivially_assignable/requirements/
108         typedefs.cc: Likewise.
109         * testsuite/20_util/is_trivially_assignable/requirements/
110         explicit_instantiation.cc: Likewise.
111         * testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
112         * testsuite/20_util/is_trivially_constructible/requirements/
113         typedefs.cc: Likewise.
114         * testsuite/20_util/is_trivially_constructible/requirements/
115         explicit_instantiation.cc: Likewise.
116         * testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
117         * testsuite/20_util/is_trivially_copyable/requirements/
118         typedefs.cc: Likewise.
119         * testsuite/20_util/is_trivially_copyable/requirements/
120         explicit_instantiation.cc: Likewise.
121         * testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
122         * testsuite/20_util/is_trivially_copy_assignable/requirements/
123         typedefs.cc: Likewise.
124         * testsuite/20_util/is_trivially_copy_assignable/requirements/
125         explicit_instantiation.cc: Likewise.
126         * testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
127         * testsuite/20_util/is_trivially_copy_constructible/requirements/
128         typedefs.cc: Likewise.
129         * testsuite/20_util/is_trivially_copy_constructible/requirements/
130         explicit_instantiation.cc: Likewise.
131         * testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
132         * testsuite/20_util/is_trivially_default_constructible/requirements/
133         typedefs.cc: Likewise.
134         * testsuite/20_util/is_trivially_default_constructible/requirements/
135         explicit_instantiation.cc: Likewise.
136         * testsuite/20_util/is_trivially_default_constructible/
137         value.cc: Likewise.
138         * testsuite/20_util/is_trivially_move_assignable/requirements/
139         typedefs.cc: Likewise.
140         * testsuite/20_util/is_trivially_move_assignable/requirements/
141         explicit_instantiation.cc: Likewise.
142         * testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
143         * testsuite/20_util/is_trivially_move_constructible/requirements/
144         typedefs.cc: Likewise.
145         * testsuite/20_util/is_trivially_move_constructible/requirements/
146         explicit_instantiation.cc: Likewise.
147         * testsuite/20_util/is_trivially_move_constructible/value.cc:
148         Likewise.
149         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
150         line number.
151         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
152         Likewise.
153         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
154         Likewise.
156 2014-10-08  Jonathan Wakely  <jwakely@redhat.com>
158         * include/bits/locale_facets.tcc (num_put::_M_insert_float): Do not
159         pass precision when using hexfloat format.
160         * src/c++98/locale_facets.cc (__num_base::_S_format_float): Always
161         output precision if C99 hexfloat conversion specifiers not available.
163 2014-10-08  Jonathan Wakely  <jwakely@redhat.com>
165         * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
166         const qualifier.
168 2014-10-07  François Dumont  <fdumont@gcc.gnu.org>
170         * testsuite/util/testsuite_counter_type.h
171         (counter_type::operator<(const counter_type&)): Update
172         less_compare_count.
173         * testsuite/25_algorithms/make_heap/complexity.cc: New.
174         * testsuite/25_algorithms/pop_heap/complexity.cc: New.
175         * testsuite/25_algorithms/push_heap/complexity.cc: New.
176         * testsuite/25_algorithms/sort_heap/complexity.cc: New.
178 2014-10-06  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
179             Jonathan Wakely  <jwakely@redhat.com>
181         PR libstdc++/59987
182         * doc/xml/manual/status_cxx2011.xml: Remove hexfloat from notes.
183         * doc/html/manual/status.html: Regenerate.
184         * include/bits/ios_base.h (hexfloat): New function.
185         (defaultfloat): New function.
186         * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support
187         hexadecimal floating point format.
188         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
189         New file.
191 2014-10-06  Jonathan Wakely  <jwakely@redhat.com>
193         * include/Makefile.am: Add new header.
194         * include/Makefile.in: Regenerate.
195         * include/experimental/tuple: New
196         * doc/xml/manual/status_cxx2014.xml: Update.
197         * doc/html/manual/status.html: Regenerate.
198         * testsuite/experimental/feat-lib-fund.cc: Test for new header.
199         * testsuite/experimental/tuple/apply.cc: New.
201 2014-10-05  François Dumont  <fdumont@gcc.gnu.org>
203         PR libstdc++/63456
204         * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
205         the parameter.
206         * testsuite/23_containers/unordered_set/63456.cc: New.
208 2014-10-03  Jonathan Wakely  <jwakely@redhat.com>
210         PR libstdc++/63449
211         * doc/xml/manual/containers.xml: Remove outdated section.
212         * doc/html/*: Regenerate.
214 2014-10-02  Jonathan Wakely  <jwakely@redhat.com>
216         * include/c_global/ctgmath: Include <complex>.
217         * testsuite/26_numerics/headers/ctgmath/complex.cc: New.
218         * doc/xml/manual/status_cxx2011.xml: Update.
219         * doc/html/manual/status.html: Regenerate.
221 2014-10-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
223         * include/bits/stl_function.h: Generic associative lookup feature
224         is not supported.
225         * testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
226         actually available.
227         * testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
228         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
229         * testsuite/20_util/duration/literals/range.cc: Adjust.
230         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
231         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
232         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
233         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
234         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
235         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
236         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
237         Adjust.
239 2014-10-01  François Dumont  <fdumont@gcc.gnu.org>
241         * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
242         Adapt to latest modifications on debug iterators.
244 2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
246         * include/std/type_traits: Add is_final<> type trait for C++14.
247         * testsuite/util/testsuite_tr1.h: Add
248         * testsuite/20_util/is_final/requirements/
249         explicit_instantiation.cc: New.
250         * testsuite/20_util/is_final/requirements/typedefs.cc: New.
251         * testsuite/20_util/is_final/value.cc: New.
252         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
253         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
254         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
256 2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
258         Implement SD-6: SG10 Feature Test Recommendations
259         * include/bits/basic_string.h: Add __cpp_lib feature test macro.
260         * include/bits/stl_algobase.h: Ditto.
261         * include/bits/stl_function.h: Ditto.
262         * include/bits/unique_ptr.h: Ditto.
263         * include/std/chrono: Ditto.
264         * include/std/complex: Ditto.
265         * include/std/iomanip: Ditto.
266         * include/std/shared_mutex: Ditto.
267         * include/std/tuple: Ditto.
268         * include/std/type_traits: Ditto.
269         * include/std/utility: Ditto.
270         * testsuite/experimental/feat-cxx14.cc: New.
271         * testsuite/experimental/feat-lib-fund.cc: New.
272         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
273         * testsuite/20_util/duration/literals/range.cc: Adjust.
274         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
275         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
276         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
277         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
278         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
279         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
280         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
281         Adjust.
283 2014-09-30  Siva Chandra Reddy  <sivachandra@google.com>
285         * python/hook.in: Only import libstdcxx.v6.
286         * python/libstdcxx/v6/__init__.py: Load printers and xmethods.
288 2014-09-30  Jonathan Wakely  <jwakely@redhat.com>
290         * doc/xml/manual/status_cxx2011.xml: Update.
291         * doc/html/manual/status.html: Regenerate.
293 2014-09-30  Andreas Schwab  <schwab@linux-m68k.org>
295         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
296         file.
298         * configure.host (abi_baseline_pair): If try_cpu is generic use
299         host_cpu for the default.
301 2014-09-29  François Dumont  <fdumont@gcc.gnu.org>
303         PR libstdc++/62313
304         * include/debug/safe_base.h
305         (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
306         (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
307         * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
308         before _Safe_iterator_base in memory. Lock before modifying the iterator
309         in numerous places.
310         * include/debug/safe_local_iterator.h
311         (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
312         declaration.
313         (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
314         Likewise.
315         * include/debug/safe_unordered_base.h (_Safe_local_iterator<>):  Move
316         normal iterator before _Safe_iterator_base in memory. Lock before
317         modifying the iterator in numerous places.
318         * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
319         * include/debug/safe_sequence.tcc
320         (_Safe_sequence<>::_M_transfer_from_if): Adapt.
322 2014-09-25  Jonathan Wakely  <jwakely@redhat.com>
324         DR 1339
325         * doc/xml/manual/status_cxx2011.xml: Update.
326         * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
327         an iterator.
328         (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
329         * include/bits/stl_vector.h (vector::_M_fill_initialize,
330         vector::_M_default_initialize): Use returned iterator.
331         * include/bits/vector.tcc (vector::_M_fill_assign,
332         vector::_M_fill_insert, vector::_M_default_append): Likewise.
333         * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
334         16505.cc: Adjust return type.
335         * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
336         dr1339.cc: New.
338 2014-09-25  Jonathan Wakely  <jwakely@redhat.com>
340         * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
342 2014-09-25  Jonathan Wakely  <jwakely@redhat.com>
344         * testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
345         * testsuite/27_io/basic_ios/conv/bool.cc: New.
346         * testsuite/27_io/basic_ios/conv/voidptr.cc: New.
348         * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
350 2014-09-25  Tim Shen  <timshen@google.com>
352         PR libstdc++/63199
353         * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
354         basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
355         _M_loc for basic_regex.
356         * include/bits/regex_automaton.h: Add _M_traits for _NFA.
357         * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
358         Make _Compiler::_M_nfa heap allocated.
359         * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
360         _Compiler::_M_nfa heap allocated.
361         * include/bits/regex_executor.h (_Executor::_M_is_word):
362         Fix accessing _M_traits.
363         * include/bits/regex_executor.tcc (_Executor::_M_dfs):
364         Fix accessing _M_traits.
365         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
366         New testcase.
368 2014-09-24  Jonathan Wakely  <jwakely@redhat.com>
370         * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
371         new GLIBCXX_3.4.21 symbols don't match them.
373         PR libstdc++/56193
374         * config/abi/pre/gnu.ver: Add new exports.
375         * include/bits/basic_ios.h (basic_ios::operator bool): Define.
376         * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
378 2014-09-24  François Dumont  <fdumont@gcc.gnu.org>
380         PR libstdc++/29988
381         * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
382         (_Rb_tree_alloc_node<>): New.
383         (_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
384         (_Rb_tree<>::_M_assign_unique): New.
385         (_Rb_tree<>::_M_assign_equal): New.
386         (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
387         * include/bits/stl_map.h
388         (std::map<>::operator=(std::map<>&&)): Default implementation.
389         (std::map<>::operator=(initializer_list<>)): Adapt to use
390         _Rb_tree::_M_assign_unique.
391         * include/bits/stl_multimap.h
392         (std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
393         (std::multimap<>::operator=(initializer_list<>)): Adapt to use
394         _Rb_tree::_M_assign_equal.
395         * include/bits/stl_set.h
396         (std::set<>::operator=(std::set<>&&)): Default implementation.
397         (std::set<>::operator=(initializer_list<>)): Adapt to use
398         _Rb_tree::_M_assign_unique.
399         * include/bits/stl_multiset.h
400         (std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
401         (std::multiset<>::operator=(initializer_list<>)): Adapt to use
402         _Rb_tree::_M_assign_equal.
403         * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
404         * testsuite/23_containers/map/allocator/init-list.cc: New.
405         * testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
406         * testsuite/23_containers/multimap/allocator/copy_assign.cc
407         (test03): New.
408         * testsuite/23_containers/multimap/allocator/init-list.cc: New.
409         * testsuite/23_containers/multimap/allocator/move_assign.cc
410         (test03): New.
411         * testsuite/23_containers/multiset/allocator/copy_assign.cc
412         (test03): New.
413         * testsuite/23_containers/multiset/allocator/init-list.cc: New.
414         * testsuite/23_containers/multiset/allocator/move_assign.cc
415         (test03): New.
416         * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
417         * testsuite/23_containers/set/allocator/init-list.cc: New.
418         * testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
420 2014-09-24  Jonathan Wakely  <jwakely@redhat.com>
422         PR libstdc++/63353
423         * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
425 2014-09-23  Jonathan Wakely  <jwakely@redhat.com>
427         * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
428         * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
429         to ostream constructor.
430         * include/std/ostream (basic_ostream(basic_iostream*)): Change to take
431         parameter by reference, to avoid ambiguity.
432         * testsuite/27_io/basic_ostream/cons/char/null.cc: New.
434 2014-09-22  Jason Merrill  <jason@redhat.com>
436         * testsuite/Makefile.am (%/site.exp): Add @.
437         (check-DEJAGNU): Likewise.
438         * testsuite/Makefile.in: Regenerate.
440 2014-09-22  Jonathan Wakely  <jwakely@redhat.com>
442         * include/bits/stl_queue.h: Include missing header.
443         * include/bits/stl_stack.h: Likewise.
444         * testsuite/23_containers/priority_queue/requirements/
445         uses_allocator.cc: New.
446         * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
447         * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
449 2014-09-22  Jonathan Wakely  <jwakely@redhat.com>
451         * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
452         * doc/xml/manual/status_cxx2014.xml: Update TS status.
453         * doc/html/manual/status.html: Regenerate.
455 2014-09-22  Jonathan Wakely  <jwakely@redhat.com>
457         * include/std/mutex (try_lock): Do not swallow exceptions.
458         * testsuite/30_threads/try_lock/4.cc: Fix test.
460 2014-09-22  Jonathan Wakely  <jwakely@redhat.com>
462         PR libstdc++/54316
463         PR libstdc++/53626
464         * config/abi/pre/gnu.ver: Add new exports.
465         * config/io/basic_file_stdio.h (__basic_file): Support moving and
466         swapping.
467         * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
468         Likewise.
469         * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
470         Likewise.
471         * include/bits/fstream.tcc (basic_filebuf): Likewise.
472         * include/bits/move.h (__exchange): Define for C++11 mode.
473         * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
474         swapping.
475         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
476         * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
477         basic_fstream): Likewise.
478         * include/std/ios: Remove whitespace.
479         * include/std/istream (basic_istream, basic_iostream): Support moving
480         and swapping.
481         * include/std/ostream (basic_ostream): Likewise.
482         * include/std/sstream (basic_stringbuf, basic_istringstream,
483         basic_ostringstream, basic_stringstream): Likewise.
484         * include/std/streambuf (basic_streambuf): Do not default copy
485         constructor and assignment on first declaration.
486         * include/std/utility (exchange): Forward to __exchange.
487         * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
488         * src/c++11/Makefile.am: Add stream-related files.
489         * src/c++11/Makefile.in: Regenerate.
490         * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
491         New file for explicit instantiation definitions.
492         * src/c++11/ios.cc: Move from src/c++98 to here.
493         (ios_base::_M_move, ios_base::_M_swap): Define.
494         * src/c++11/ios-inst.cc: Move from src/c++98 to here.
495         * src/c++11/iostream-inst.cc: Likewise.
496         * src/c++11/istream-inst.cc: Likewise.
497         * src/c++11/ostream-inst.cc: Likewise.
498         * src/c++11/sstream-inst.cc: Likewise.
499         * src/c++11/streambuf-inst.cc: Likewise.
500         * src/c++98/Makefile.am: Remove stream-related files.
501         * src/c++98/Makefile.in: Regenerate.
502         * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
503         instantiations.
504         * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
505         * src/c++98/ios-inst.cc: Move to src/c++11/.
506         * src/c++98/ios.cc: Move to src/c++11/.
507         * src/c++98/iostream-inst.cc: Likewise.
508         * src/c++98/istream-inst.cc: Likewise.
509         * src/c++98/ostream-inst.cc: Likewise.
510         * src/c++98/sstream-inst.cc: Likewise.
511         * src/c++98/streambuf-inst.cc: Likewise.
512         * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
513         * testsuite/27_io/basic_fstream/cons/move.cc: New.
514         * testsuite/27_io/basic_fstream/assign/1.cc: New.
515         * testsuite/27_io/basic_ifstream/cons/move.cc: New.
516         * testsuite/27_io/basic_ifstream/assign/1.cc: New.
517         * testsuite/27_io/basic_istringstream/assign/1.cc: New.
518         * testsuite/27_io/basic_istringstream/cons/move.cc: New.
519         * testsuite/27_io/basic_ofstream/cons/move.cc: New.
520         * testsuite/27_io/basic_ofstream/assign/1.cc: New.
521         * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
522         * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
523         * testsuite/27_io/basic_stringstream/assign/1.cc: New.
524         * testsuite/27_io/basic_stringstream/cons/move.cc: New.
526 2014-09-17  Jason Merrill  <jason@redhat.com>
528         * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
529         dynamic_cast more gracefully.
531 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
533         * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
534         check_p_numbers2, check_p_numbers3, check_p_numbers4,
535         check_p_numbers5, check_p_numbers6, check_p_numbers,
536         check_p_subdirs): New variables.
537         (check_DEJAGNU_normal_targets): Use check_p_subdirs.
538         (check-DEJAGNU): Rewritten so that for parallelized
539         testing each job runs all the *.exp files, with
540         GCC_RUNTEST_PARALLELIZE_DIR set in environment.
541         * testsuite/Makefile.in: Regenerated.
542         * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
543         gcc_parallel_test_enable): New procedures.  If
544         GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
545         runtest_file_p to invoke also gcc_parallel_test_run_p.
546         * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
547         by the first parallel runtest encountering it.  Fix up path
548         of the extract_symvers script.
549         * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
550         serially by the first parallel runtest encountering it.  Run
551         dg-finish even in case of error.
553 2014-09-15  Jonathan Wakely  <jwakely@redhat.com>
555         * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
556         parameters to _Ch_traits.
558 2014-09-12  Jonathan Wakely  <jwakely@redhat.com>
560         * include/debug/deque (__gnu_debug::deque): Make base class C++11
561         allocator aware.
563 2014-09-12  Jonathan Wakely  <jwakely@redhat.com>
565         PR libstdc++/59603
566         * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
567         * testsuite/25_algorithms/random_shuffle/59603.cc: New.
569 2014-09-11  Jonathan Wakely  <jwakely@redhat.com>
571         PR libstdc++/63219
572         * include/bits/regex.h (match_results::format): Remove stray template
573         parameter.
574         * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
575         Remove parameter name to avoid -Wunused-parameter warning.
576         * include/bits/regex_executor.h (_State_info::_State_info): Reorder
577         mem-initializers to avoid -Wreorder warning.
578         * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
579         Remove parameter name to avoid -Wunused-parameter warning.
580         * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
581         to avoid -Wempty-body warning when not in debug mode.
583 2014-09-10  Siva Chandra Reddy  <sivachandra@google.com>
585         * python/hook.in: Load the xmethods.
586         * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
587         * python/Makefile.in: Regenerated.
588         * python/libstdcxx/v6/xmethods.py: New file.
589         * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
590         function.
591         (gdb-test): New optional argument LOAD_XMETHODS.  Load xmethods
592         python script if LOAD_XMETHODS is true.
593         * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
594         * testsuite/libstdc++-xmethods/vector.cc: New file.
595         * testsuite/libstdc++-xmethods/xmethods.exp: New file.
597 2014-09-10  Tony Wang  <tony.wang@arm.com>
599         PR target/56846
600         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
601         Return with CONTINUE_UNWINDING when the state pattern
602         contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
604 2014-09-09  Jonathan Wakely  <jwakely@redhat.com>
606         * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
607         allocator propagation.
608         (deque::emplace_front, deque::emplace_back): Use allocator traits.
609         (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
610         (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
611         * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
612         (_Deque_iterator): Handle allocators with custom pointers.
613         (_Deque_base): Likewise. Use allocator traits.
614         (deque): Likewise. Add allocator-extended constructors.
615         (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
616         assignment via tag dispatching.
617         (deque::_M_replace_map): Replace existing data.
618         * include/debug/deque (deque): Add allocator-extended constructors.
619         * include/profile/deque (deque): Likewise.
620         * testsuite/23_containers/deque/allocator/copy.cc: New.
621         * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
622         * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
623         * testsuite/23_containers/deque/allocator/minimal.cc: New.
624         * testsuite/23_containers/deque/allocator/move.cc: New.
625         * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
626         * testsuite/23_containers/deque/allocator/move_assign.cc: New.
627         * testsuite/23_containers/deque/allocator/noexcept.cc: New.
628         * testsuite/23_containers/deque/allocator/swap.cc: New.
629         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
630         Adjust dg-error line number.
631         * testsuite/23_containers/deque/requirements/dr438/
632         constructor_1_neg.cc: Likewise.
633         * testsuite/23_containers/deque/requirements/dr438/
634         constructor_2_neg.cc: Likewise.
635         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
636         Likewise.
637         * testsuite/23_containers/vector/52591.cc: Test both the propagating
638         and always-equal cases.
640 2014-09-06  François Dumont  <fdumont@gcc.gnu.org>
642         * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
643         noexcept qualified.
644         (_Hash_code_base<>): All specialization default constructible if
645         possible.
646         (_Hashtable_base<>): Likewise.
647         * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
648         * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
649         implementation defaulted.
650         (unordered_multimap<>::unordered_multimap()): Likewise.
651         * include/bits/unordered_set.h
652         (unordered_set<>::unordered_set()): Likewise.
653         (unordered_multiset<>::unordered_multiset()): Likewise.
654         * include/debug/unordered_map: Likewise.
655         * include/debug/unordered_set: Likewise.
656         * testsuite/23_containers/unordered_map/allocator/noexcept.cc
657         (test04()): New.
658         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
659         (test04()): New.
660         * testsuite/23_containers/unordered_set/allocator/noexcept.cc
661         (test04()): New.
662         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
663         (test04()): New.
665 2014-08-30  John David Anglin  <danglin@gcc.gnu.org>
667         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
669 2014-08-29  Jonathan Wakely  <jwakely@redhat.com>
671         * include/std/complex (complex): Define copy constructor and
672         assignment operator as defaulted. Improve Doxygen comments.
674 2014-08-28  Jonathan Wakely  <jwakely@redhat.com>
676         * testsuite/ext/random/*: Fix incorrect standard references in
677         comments.
679 2014-08-27  Jonathan Wakely  <jwakely@redhat.com>
681         PR libstdc++/62159
682         * include/Makefile.am (install-freestanding-headers): Add missing
683         C++11 headers.
684         * include/Makefile.in: Regenerate.
686 2014-08-21  Tony Wang  <tony.wang@arm.com>
688         * testsuite/18_support/nested_exception/62154.cc: Disable when the
689         target doesn't provide atomic builtins.
691 2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>
692             Kai Tietz  <ktietz@redhat.com>
694         * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
695         Define.
696         * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
697         Ditto.
698         * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
699         #include <windows.h>.
700         (struct elt): Add dll member.
701         (run): Decrement dll refcount.
702         (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
704 2014-08-15  Jonathan Wakely  <jwakely@redhat.com>
706         PR libstdc++/62154
707         * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
708         Rewrite to conform to C++11 requirements.
709         * testsuite/18_support/nested_exception/62154.cc: New.
711 2014-08-14  Matthias Klose  <doko@ubuntu.com>
713         * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
714         Remove empty directory.
716 2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
718         * testsuite/26_numerics/random/linear_congruential_engine/
719         requirements/non_uint_neg.cc: Adjust for parser change.
720         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
721         requirements/non_uint_neg.cc: Likewise.
723 2014-08-13  Jonathan Wakely  <jwakely@redhat.com>
725         PR libstdc++/61841
726         * include/std/thread (thread::_M_start_thread): Declare new overload.
727         (thread::thread<_Callable, _Args...>): Call new overload with an
728         explicit reference to pthread_create.
729         * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
730         * config/abi/pre/gnu.ver: Export new function.
732 2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>
734         * include/profile/impl/profiler_hash_func.h: Fix a comment typo
736 2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
738         * Fix thinko in the last commit.
740 2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
742         PR libstdc++/62118
743         * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
744         operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
746 2014-08-12  Jonathan Wakely  <jwakely@redhat.com>
748         * include/bits/basic_string.h (getline): Qualify call to prevent ADL
749         and add overloads for rvalue streams.
750         * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
751         New.
752         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
753         New.
755         * include/bits/basic_string.h (getline): Declare inline.
757 2014-08-09  Ulrich Drepper  <drepper@gmail.com>
759         * include/ext/random.tcc (uniform_on_sphere_helper): Define.
760         (uniform_on_sphere_distribution::operator()): Use the new helper
761         class for the implementation.
763         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
764         equal.cc: Remove bogus part of comment.
765         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
766         inequal.cc: Likewise.
767         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
768         serialize.cc: Add check to verify result of serialzation and
769         deserialization.
770         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
771         generate.cc: New file.
773 2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
775         * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
776         character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
778 2014-08-09  François Dumont  <fdumont@gcc.gnu.org>
780         PR libstdc++/61667
781         * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
782         _M_need_rehash to initialize the rehash policy and check if a rehash is
783         needed.
784         * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
786 2014-08-07  Jonathan Wakely  <jwakely@redhat.com>
788         * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
789         Optimize.
790         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
791         Adjust dg-error line number.
792         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
793         Likewise.
794         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
795         Likewise.
796         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
797         Likewise.
799         * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
800         _M_do_set.
801         (_State_baseV2::_M_do_set): Change parameters to pointers.
802         (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
803         (_State_baseV2::__setter): Initialize _Setter with pointers.
804         (_State_baseV2::__setter(promise<void>*)): Remove overload.
805         (promise::set_value, promise::set_exception): Pass setter directly
806         to _M_set_result.
807         (_State_baseV2::_Task_setter): Add template parameter for callable
808         type and replace std::function member with pointer to that type.
809         Change _M_result member from reference to pointer.
810         (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
811         and initialize _Task_setter with pointers.
812         (__location_invariant): Specialize for _Setter and _Task_setter.
814         * include/std/future (__location_invariant): Move specializations
815         after preprocessor condition.
817 2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
819         PR c++/15339
820         * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
822 2014-08-01  Zifei Tong  <zifeitong@gmail.com>
824         * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
825         _GLIBCXX_ prefix to macro.
827 2014-07-29  Jonathan Wakely  <jwakely@redhat.com>
829         * python/libstdcxx/v6/printers.py
830         (SingleObjContainerPrinter._contained): Use compatibility mixin.
832 2014-07-29  François Dumont  <fdumont@gcc.gnu.org>
834         * testsuite/util/testsuite_allocator.h
835         (tracker_allocator_counter::allocate): Remove new invocation, only
836         collect information.
837         (tracker_allocator_counter::deallocate): Remove delete invocation, only
838         collect information.
839         (check_inconsistent_alloc_value_type): New.
840         (tracker_allocator): Transform as a facade for any allocator type.
841         (uneq_allocator): Likewise.
842         (propagating_allocator): Likewise.
843         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
844         explicitly non propagating allocator.
845         * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
846         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
847         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
848         * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
849         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
850         Likewise.
851         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
852         Likewise.
853         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
854         Likewise.
855         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
856         Likewise.
857         * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
859 2014-07-29  Jonathan Wakely  <jwakely@redhat.com>
861         PR libstdc++/61946
862         * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
863         const allocator_type&)): Pass non-const allocator to
864         _S_new_RopeFunction.
865         * testsuite/ext/rope/61946.cc: New.
867         PR libstdc++/61947
868         * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
869         disambiguate unary constructors.
870         (_Tuple_impl): Pass allocator_arg_t arguments.
871         * testsuite/20_util/tuple/61947.cc: New.
872         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
874 2014-07-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
876         PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
877         * include/bits/random.h (_Adaptor): static_assert for non floating-point
878         result type.
879         * include/bits/random.tcc (generate_canonical): Ditto.
880         * include/ext/random.tcc (hypergeometric_distribution::operator()):
881         Use double as a rng result type.
882         * testsuite/26_numerics/random/pr60037-neg.cc: New.
883         * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
885 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
887         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
889 2014-07-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
891         * include/experimental/string_view: Make the literal operators
892         constexpr like the ctors they call.
894 2014-07-23  H.J. Lu  <hongjiu.lu@intel.com>
896         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
898 2014-07-23  Jonathan Wakely  <jwakely@redhat.com>
900         * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
901         to string instead of using gdb.Type.name attribute.
903 2014-07-19  Jonathan Wakely  <jwakely@redhat.com>
905         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
906         AC_MSG_CHECKING.
908 2014-07-18  Jonathan Wakely  <jwakely@redhat.com>
910         PR libstdc++/61835
911         * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
912         raw string.
913         (SingleObjContainerPrinter): Check if type printers are in use.
915 2014-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
917         * include/ext/random: Minor formatting and cosmetic tweaks.
918         (uniform_on_sphere_distribution<>::operator==
919         (const uniform_on_sphere_distribution&,
920         const uniform_on_sphere_distribution&)): Compare the _M_nds.
921         (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
922         (operator!=(const uniform_on_sphere_distribution&,
923         const uniform_on_sphere_distribution&)): Adjust.
924         * include/ext/random.tcc: Minor cosmetc tweaks.
926 2014-07-15  Jonathan Wakely  <jwakely@redhat.com>
928         * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
929         printer for class templates.
930         (register_type_printers): Use TemplateTypePrinter for containers
931         and other class templates with default template arguments.
932         * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
934         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
935         base class for experimental::any and experimental::optional printers.
936         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
937         New printers for Fundamentals TS types.
938         * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
940 2014-07-15  Tim Shen  <timshen@google.com>
942         PR libstdc++/61720
943         * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
944         Clear match queue for next use.
945         * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
947 2014-07-14  Ulrich Drepper  <drepper@gmail.com>
949         * include/ext/random.tcc: Unfortunately more fixes for
950         operator>> and operator<< for uniform_on_sphere_distribution.
952 2014-07-13  Ulrich Drepper  <drepper@gmail.com>
954         * include/ext/random.tcc: Fix operator>> and operator<< for
955         uniform_on_sphere_distribution.
957 2014-07-12  Ulrich Drepper  <drepper@gmail.com>
959         * include/ext/random: Add uniform_on_sphere_distribution definition.
960         * include/ext/random.tcc: Add out-of-band member function definitions
961         for uniform_on_sphere_distribution.
962         * testsuite/ext/random/uniform_on_sphere_distribution/
963         cons/default.cc: New file.
964         * testsuite/ext/random/uniform_on_sphere_distribution/
965         operators/equal.cc: New file.
966         * testsuite/ext/random/uniform_on_sphere_distribution/
967         operators/inequal.cc: New file.
968         * testsuite/ext/random/uniform_on_sphere_distribution/
969         operators/serialize.cc: New file.
971 2014-07-11  Edward Smith-Rowland  <3dw4rd@verizon.net>
973         Add the logistic_distribution as an extension.
974         * include/ext/random: Add the logistic_distribution.
975         * include/ext/random.tcc: Add the logistic_distribution.
976         * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
977         * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
978         * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
979         New.
980         * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
981         * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
982         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
983         New.
985 2014-07-11  Samuel Bronson  <naesten@gmail.com>
987         * testsuite/lib/libstdc++.exp  (libstdc++_init): Set $GCC_COLORS=""
988         instead of insisting that GCC understand -fdiagnostics-color=never
990         * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
991         list loaded libs.
993 2014-07-11  Samuel Bronson  <naesten@gmail.com>
994             Matthias Klose  <doko@ubuntu.com>
996         PR libstdc++/58962
997         * python/libstdcxx/v6/printers.py: Port to Python 2+3
998         (imap): New compat function.
999         (izip): Likewise.
1000         (Iterator): New mixin to allow writing iterators in Python 3 style
1001         regardless of which version we're running on.
1002         [Python3] (long) New compat alias for "int".
1003         * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
1005 2014-07-10  Jonathan Wakely  <jwakely@redhat.com>
1007         * include/experimental/any (any::_Manager_alloc::_Data): Reorder
1008         tuple members to simplify pretty printing.
1009         (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
1010         construction.
1011         * testsuite/experimental/any/cons/4.cc: New.
1013 2014-07-09  Jason Merrill  <jason@redhat.com>
1015         PR libstdc++/61728
1016         * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
1017         * libsupc++/tinfo.h: Not here.
1019 2014-07-08  Jonathan Wakely  <jwakely@redhat.com>
1021         * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
1022         missing return.
1023         * include/experimental/any: Remove unused header.
1024         * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
1025         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1026         * testsuite/util/testsuite_regex.h: Move include guard.
1028 2014-07-01  Tim Shen  <timshen@google.com>
1030         PR libstdc++/61601
1031         PR libstdc++/61582
1032         * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
1033         a NFA state limit. If it's exceeded, regex_constants::error_space
1034         will be throwed.
1035         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
1036         map (which is sparse) instead of vector. This reduce n times clones'
1037         cost from O(n^2) to O(n).
1038         * include/std/regex: Add map dependency.
1039         * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
1040         testcase.
1042 2014-07-01  Tim Shen  <timshen@google.com>
1044         PR libstdc++/61424
1045         * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
1046         not just regex containing back-references.
1047         * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
1048         exchange _M_next and _M_alt for alternative operator,
1049         making matching from left to right.
1050         * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
1051         Add position tracking fom DFS.
1052         * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
1053         _Executor<>::_M_dfs): Likewise.
1054         * include/bits/regex_scanner.h: Remove unused enum entry.
1055         * testsuite/28_regex/algorithms/regex_search/61424.cc: New
1056         testcase from PR.
1058 2014-06-30  Jason Merrill  <jason@redhat.com>
1060         * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
1061         is pure, not inline.
1063 2014-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
1065         Revert:
1066         2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
1067                     Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1069         PR libstdc++/61536
1070         * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1072         2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
1074         * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1076 2014-06-26  Jonathan Wakely  <jwakely@redhat.com>
1078         * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
1079         parameter type.
1081 2014-06-25  Jonathan Wakely  <jwakely@redhat.com>
1083         * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
1084         * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
1085         * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
1086         Likewise.
1087         * include/ext/alloc_traits.h: Fix comment.
1089         * include/Makefile.am: Add new header.
1090         * include/Makefile.in: Regenerate.
1091         * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
1092         New RAII utilities for working with allocators.
1093         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
1094         __allocator_type typedef and use new __allocated_ptr type.
1095         (_Sp_counted_ptr_inplace): Likewise.
1096         (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
1097         __allocate_guarded to to simplify exception handling.
1098         * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
1099         * include/std/future (_Result_alloc::_M_destroy): Likewise.
1100         (_Result_alloc::_S_allocate_result): Likewise.
1101         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
1102         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1103         * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
1104         * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
1105         with fancy pointer.
1106         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1108         * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
1109         allocator.
1110         * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
1111         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1113 2014-06-24  Jonathan Wakely  <jwakely@redhat.com>
1115         * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
1116         attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
1117         * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
1118         Remove unused typedef.
1119         (time_get::do_get_monthname): Likewise.
1120         * include/bits/stl_tree.h: Add system_header pragma.
1121         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
1122         redundant const-qualifier.
1123         * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
1124         instead of _GLIBCXX_USE_CONSTEXPR.
1126 2014-06-23  Jonathan Wakely  <jwakely@redhat.com>
1128         * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
1129         * include/std/chrono (_Checked_integral_constant): Allow zero.
1130         * testsuite/20_util/duration/literals/values.cc: Test non-positive
1131         values and digit separators.
1132         * include/experimental/any
1134         PR libstdc++/61532
1135         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
1136         apply the signed specifier to wchar_t.
1137         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1138         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
1139         cv-qualifier and size.
1140         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1141         Likewise.
1143         * include/experimental/any (any_v1): Rename namespace to
1144         fundamentals_v1. Change string returned by bad_any_cast::what().
1145         * include/experimental/optional (fundamentals_v1): Add namespace.
1146         * include/experimental/string_view (fundamentals_v1): Likewise.
1147         * testsuite/experimental/any/typedefs.cc: New.
1148         * testsuite/experimental/optional/typedefs.cc: New.
1149         * testsuite/experimental/string_view/typedefs.cc: New.
1151 2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
1152             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1154         PR libstdc++/61536
1155         * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1157 2014-06-14  Jonathan Wakely  <jwakely@redhat.com>
1159         * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
1160         * include/Makefile.am: Add new header.
1161         * include/Makefile.in: Regenerate.
1162         * include/experimental/any: New.
1163         * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
1164         constructor.
1165         * testsuite/experimental/any/assign/1.cc: New.
1166         * testsuite/experimental/any/assign/2.cc: New.
1167         * testsuite/experimental/any/cons/1.cc: New.
1168         * testsuite/experimental/any/cons/2.cc: New.
1169         * testsuite/experimental/any/cons/3.cc: New.
1170         * testsuite/experimental/any/misc/any_cast.cc: New.
1171         * testsuite/experimental/any/misc/any_cast_neg.cc: New.
1172         * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
1173         * testsuite/experimental/any/misc/swap.cc: New.
1174         * testsuite/experimental/any/modifiers/1.cc: New.
1175         * testsuite/experimental/any/observers/type.cc: New.
1177         * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
1178         * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
1179         warnings.
1180         * include/bits/shared_ptr.h (shared_ptr): Likewise.
1181         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1182         Likewise.
1183         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1184         Likewise.
1185         * include/parallel/list_partition.h (__parallel::list_partition):
1186         Likewise.
1187         * include/std/iomanip (quoted): Likewise.
1188         * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
1190         * doc/xml/api.xml: Link to more recent API docs.
1191         * include/bits/allocator.h: Fix link in doxygen comment.
1192         * include/bits/char_traits.h: Likewise.
1193         * include/bits/ios_base.h: Likewise.
1194         * include/bits/stl_map.h: Likewise.
1195         * include/bits/stl_multimap.h: Likewise.
1196         * include/bits/stl_multiset.h: Likewise.
1197         * include/bits/stl_set.h: Likewise.
1198         * include/bits/unordered_map.h: Likewise.
1199         * include/bits/unordered_set.h: Likewise.
1200         * include/ext/mt_allocator.h: Likewise.
1201         * include/std/fstream: Likewise.
1202         * include/std/iosfwd: Likewise.
1203         * include/std/ostream: Likewise.
1204         * include/std/sstream: Likewise.
1205         * include/std/streambuf: Likewise.
1206         * doc/html/*: Regenerate.
1208         * include/experimental/any (any_cast): Combine duplicate doxygen
1209         comments.
1210         * include/experimental/string_view (basic_string_view): Update
1211         doxygen comment.
1212         * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
1213         * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
1214         (dynamic_bitset): Improve Doxygen comments.
1215         * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
1216         comment.
1218 2014-06-11  Maciej W. Rozycki  <macro@codesourcery.com>
1220         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
1221         (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
1223 2014-06-10  Jonathan Wakely  <jwakely@redhat.com>
1225         PR libstdc++/61390
1226         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
1227         (bin_search_tree_traits): Do not redeclare template-parameters.
1228         * testsuite/util/testsuite_iterators.h (test_container): Likewise.
1230 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
1232         * doc/Makefile.am: Add missing file. Use generate.consistent.ids
1233         parameter for DocBook HTML generation.
1234         * doc/Makefile.in: Regenerate.
1235         * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
1236         * doc/xml/faq.xml: Update content and improve formatting.
1237         * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
1238         * doc/xml/manual/allocator.xml: Add stable ID attribute.
1239         * doc/xml/manual/bitmap_allocator.xml: Likewise.
1240         * doc/xml/manual/build_hacking.xml: Likewise.
1241         * doc/xml/manual/codecvt.xml: Change URL.
1242         * doc/xml/manual/ctype.xml: Add stable ID attribute.
1243         * doc/xml/manual/debug_mode.xml: Likewise.
1244         * doc/xml/manual/documentation_hacking.xml: Likewise.
1245         * doc/xml/manual/evolution.xml: Likewise.
1246         * doc/xml/manual/extensions.xml: Likewise.
1247         * doc/xml/manual/locale.xml: Likewise.
1248         * doc/xml/manual/messages.xml: Make section id consistent, improve
1249         markup, change URL.
1250         * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
1251         * doc/xml/manual/profile_mode.xml: Likewise.
1252         * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
1253         * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
1254         * doc/xml/manual/status_cxx2011.xml: Likewise.
1255         * doc/xml/manual/status_cxx2014.xml: Likewise.
1256         * doc/xml/manual/status_cxxtr1.xml: Likewise.
1257         * doc/xml/manual/status_cxxtr24733.xml: Likewise.
1258         * doc/xml/manual/using.xml: Likewise.
1259         * doc/html/*: Regenerate.
1261 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
1263         * include/tr1/beta_function.tcc: Fix spelling of include guard in
1264         comment.
1266 2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
1268         * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1270 2014-06-06  Ed Smith-Rowland  <3dw4rd@verizon.net>
1272         DR 2344 - std::quoted doesn't respect padding
1273         * include/std/iomanip: Allow for padding in quoted inserters.
1274         * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
1275         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
1277 2014-06-06  François Dumont  <fdumont@gcc.gnu.org>
1279         * testsuite/23_containers/map/operators/1.cc: Simplify test.
1281 2014-06-06  Jonathan Wakely  <jwakely@redhat.com>
1283         * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
1284         code example.
1285         * doc/xml/manual/backwards_compatibility.xml
1286         (backwards.second.stringstreams): Likewise.
1287         * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
1288         change of default.
1289         * doc/xml/manual/containers.xml (associative.bitset.type_string):
1290         Replace <quote> in code example.
1291         * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
1292         * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
1293         fix typos, improve markup.
1294         * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
1295         <emphasis> with <replaceable>.
1296         * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
1297         * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
1298         and remove newlines in string literal.
1300 2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
1302         DR 1423
1303         PR c++/52174
1304         * testsuite/20_util/is_assignable/value.cc: Update.
1306 2014-06-02  Jonathan Wakely  <jwakely@redhat.com>
1308         * include/std/condition_variable (condition_variable_any::_Unlock): Do
1309         not swallow __forced_unwind.
1310         * include/std/future (__future_base::_Task_setter): Likewise.
1311         (__future_base::_Async_state_impl): Turn __forced_unwind into broken
1312         promise and rethrow.
1313         * include/std/mutex (try_lock): Likewise.
1314         * testsuite/30_threads/async/forced_unwind.cc: New.
1315         * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
1317         * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
1318         members to avoid wasted space when not using a cache.
1319         (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
1320         * include/bits/regex_compiler.tcc
1321         (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
1322         search on set.
1323         * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
1324         New enumeration type to indicate match mode.
1325         (__detail::_Executor::_State_info): New type holding members only
1326         needed in BFS-mode. Replace unique_ptr<vector<bool>> with
1327         unique_ptr<bool[]>.
1328         (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
1329         Replace template parameter with run-time function parameter.
1330         (__detail::_Executor::_M_main): Likewise. Dispatch to ...
1331         (__detail::_Executor::_M_main_dispatch): New overloaded functions to
1332         implement DFS and BFS mode.
1333         * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
1334         Split implementation into ...
1335         (__detail::_Executor::_M_main_dispatch): New overloaded functions.
1336         (__detail::_Executor::_M_lookahead): Create nested executor on stack.
1337         (__detail::_Executor::_M_rep_once_more): Pass match mode as function
1338         argument instead of template argument.
1339         (__detail::_Executor::_M_dfs): Likewise.
1340         * include/bits/regex_scanner.tcc: Fix typos in comments.
1341         * testsuite/performance/28_regex/range.cc: New.
1343 2014-06-02  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
1344             Jonathan Wakely  <jwakely@redhat.com>
1346         * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
1347         helper struct.
1348         (aligned_union): New struct (C++11).
1349         (aligned_union_t): New type alias (C++14).
1350         * doc/xml/manual/status_cxx2011.xml: Update.
1351         * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
1352         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1353         line number.
1355 2014-06-01  Jonathan Wakely  <jwakely@redhat.com>
1357         PR libstdc++/61374
1358         * include/experimental/string_view (operator basic_string): Correct
1359         order of arguments.
1360         (to_string): Replace with member function.
1361         Add inline specifiers. Remove unused header. Remove _S_empty_rep and
1362         allow _M_str to be null.
1363         * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
1364         default constructor semantics.
1365         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
1366         * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
1367         copyright dates. Remove unused header.
1368         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
1369         Likewise.
1370         * testsuite/experimental/string_view/operations/data/char/1.cc:
1371         Fix copyright dates. Adjust to new default constructor semantics.
1372         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
1373         Likewise.
1374         * testsuite/experimental/string_view/operations/to_string/1.cc: New.
1376         * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
1377         (__uses_allocator_arg): Remove unused type.
1378         (__uses_alloc0): Turn into a trivial type.
1379         (__uses_alloc): Add missing template parameter in primary template.
1380         (__uses_alloc_impl): Rename to __uses_alloc_t.
1382 2014-05-30  Jonathan Wakely  <jwakely@redhat.com>
1384         * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1385         work with previous versions of Tcl.
1387         * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1388         Benjamin's old email address.
1390         * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1391         Paolo's address too.
1393 2014-05-29  Jonathan Wakely  <jwakely@redhat.com>
1395         * include/tr2/bool_set: Use UTF-8 for accented characters.
1396         * scripts/run_doxygen: Handle Doxygen 1.8.x change.
1397         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
1398         QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
1400 2014-05-27  Jonathan Wakely  <jwakely@redhat.com>
1402         PR libstdc++/61329
1403         * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1404         inline specifier.
1405         (_State_base::_M_dot): Likewise.
1407 2014-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
1409         * include/profile/map.h: Fix typo in comment; minor formatting fix.
1410         * include/profile/multimap.h: Likewise.
1411         * include/profile/set.h: Likewise.
1412         * include/profile/multiset.h: Likewise.
1414 2014-05-24  François Dumont  <fdumont@gcc.gnu.org>
1416         * include/profile/array: Clean useless white chars.
1417         * include/profile/base.h: Likewise.
1418         * include/profile/iterator_tracker.h: Likewise.
1419         * include/profile/bitset: Code cleanup and remove not instrumented code.
1420         * include/profile/deque: Likewise.
1421         * include/profile/forward_list: Likewise.
1422         * include/profile/list (std::__profile::_List_profile<>): New.
1423         (std::__profile::list<>): Inherit from latter and adapt.
1424         * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
1425         advise to match any ordered to unordered container conversion.
1426         * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
1427         New.
1428         * include/Makefile.am: Add latter.
1429         * include/Makefile.in: Regenerate.
1430         * include/profile/map.h (std::__profile::map<>): Inherit from latter,
1431         remove not instrumented code.
1432         * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
1433         * include/profile/set.h (std::__profile::set<>): Likewise.
1434         * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
1435         * include/profile/unordered_base.h: Add some line feed.
1436         * include/profile/unordered_map: Clean useless white chars and replace
1437         spaces with tabs.
1438         * include/profile/unordered_set: Likewise.
1439         * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
1440         (std::__profile::_Vector_profile_post<>): New.
1441         (std::__profile::vector<>): Inherit from latter and adapt.
1443 2014-05-23  Jonathan Wakely  <jwakely@redhat.com>
1445         PR libstdc++/60793
1446         * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1447         dragonfly target selector to all tests that run on freebsd.
1449         * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1450         dragonfly.
1451         * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1452         * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1454         * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1455         selector.
1456         * testsuite/30_threads/call_once/60497.cc: Likewise.
1457         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1458         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1459         * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1460         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1461         * testsuite/30_threads/promise/60966.cc: Likewise.
1462         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1463         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1464         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1465         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1466         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1467         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1468         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1469         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1470         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1471         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1472         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1473         * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1474         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1475         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1476         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1477         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1478         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1480 2014-05-21  François Dumont  <fdumont@gcc.gnu.org>
1482         PR libstdc++/61143
1483         * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1484         usable state.
1485         * testsuite/23_containers/unordered_set/61143.cc: New.
1486         * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1488 2014-05-21  Jonathan Wakely  <jwakely@redhat.com>
1490         PR libstdc++/61269
1491         * include/std/type_traits: Move include outside namespace std.
1492         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1493         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1494         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1495         Likewise.
1497         * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1498         Fix warning.
1500 2014-05-21  John Marino  <gnugcc@marino.st>
1502         * acinclude.m4 (*-*-dragonfly*): New target.
1503         * configure: Regenerate.
1504         * configure.host (*-*-dragonfly*): New target.
1505         * config/locale/dragonfly/c_locale.cc: New.
1506         * config/locale/dragonfly/ctype_members.cc: New.
1507         * config/os/bsd/dragonfly/ctype_base.h: New.
1508         * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1509         * config/os/bsd/dragonfly/ctype_inline.h: New.
1510         * config/os/bsd/dragonfly/os_defines.h: New.
1512 2014-05-20  Cesar Philippidis  <cesar@codesourcery.com>
1514         * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
1515         libstdc++.exp imports those flags via getenv.
1516         * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1517         CXXFLAGS contains a '-O' flag.
1519 2014-05-20  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
1521         PR libstdc++/61223
1522         Revert:
1523         2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
1525         PR libstdc++/60758
1526         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1527         and add unwind directives.
1529 2014-05-20  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1531         * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1533 2014-05-20  Tim Shen  <timshen91@gmail.com>
1535         PR libstdc++/61227
1536         * include/bits/regex_compiler.h
1537         (_BracketMatcher<>::_M_add_character_class): Add negative character
1538         class support.
1539         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1540         Likewise.
1541         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1542         Add more testcases.
1544 2014-05-19  Jonathan Wakely  <jwakely@redhat.com>
1546         * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1548 2014-05-17  Marc Glisse  <marc.glisse@inria.fr>
1550         * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1551         * libsupc++/new_opnt.cc: Likewise.
1553 2014-05-17  Jonathan Wakely  <jwakely@redhat.com>
1555         PR libstdc++/60966
1556         * include/std/future (__future_base::_State_baseV2::_M_set_result):
1557         Pass lock into _M_do_set and hold it until the function returns.
1558         Signal condition variable after call_once completes.
1559         (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1560         signal here.
1561         * testsuite/30_threads/promise/60966.cc: New.
1563 2014-05-16  Iain Sandoe  <iain@codesourcery.com>
1564             Sandra Loosemore  <sandra@codesourcery.com>
1566         * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1567         until after checking that the test is eligible to be run.
1569 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
1571         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1572         test for 32-bit target.
1573         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1574         Likewise.
1575         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1576         Fix test.
1578 2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
1580         PR libstdc++/60758
1581         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1582         and add unwind directives.
1584 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
1586         * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1587         overflow.
1588         * include/std/chrono (chrono_literals::__select_type::_Select_type):
1589         Remove.
1590         (chrono_literals::_Checked_integral_constant): Define.
1591         Simplify UDL operator templates and check for overflow.
1592         * testsuite/20_util/duration/literals/range.cc: New.
1594 2014-05-16  Ed Smith-Rowland  <3dw4rd@verizon.net>
1595             Jonathan Wakely  <jwakely@redhat.com>
1597         PR libstdc++/61166
1598         * include/bits/parse_numbers.h: Use integral_constant to remove
1599         duplication and simplify.
1600         * testsuite/20_util/duration/literals/61166.cc: New.
1602 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
1604         PR libstdc++/60326
1605         * include/std/type_traits (__make_unsigned, __make_signed): Define
1606         specializations for wchar_t, char16_t and char32_t.
1607         * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1608         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1609         test for make_unsigned<volatile wchar_t>.
1610         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1611         Likewise.
1612         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1613         line number.
1614         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1615         Likewise.
1616         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1617         Likewise.
1619 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
1621         * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1622         * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1623         * include/std/utility (tuple_size, tuple_element): Likewise.
1624         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1625         Adjust dg-error line number.
1627 2014-05-14  Jonathan Wakely  <jwakely@redhat.com>
1629         * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1630         (__tuple_element_t): Define.
1631         (tuple_element): Use __tuple_element_t.
1632         (__cv_tuple_size): Define.
1633         (tuple_size<cv _Tp>): Use __cv_tuple_size.
1634         (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1635         (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1636         (__tuple_compare): Remove size check, re-order parameters.
1637         (operator==, operator<): Use static_assert to check requirements.
1638         * include/std/functional (__volget): use __tuple_element_t.
1639         * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1640         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1642 2014-05-13  Jonathan Wakely  <jwakely@redhat.com>
1644         PR libstdc++/60497
1645         * include/std/tuple (get, __tuple_compare): Qualify more calls to
1646         prevent ADL. Cast comparison results to bool.
1647         * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1648         * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1650         PR libstdc++/60497
1651         * include/debug/array (get): Qualify call to other get overload.
1652         * include/profile/array (get): Likewise.
1653         * include/std/array (get): Likewise.
1654         * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1655         * include/std/mutex (unique_lock, call_once): Use __addressof.
1656         (__unlock_impl): Remove unused template.
1657         (__try_to_lock): Declare inline.
1658         (__try_lock_impl::__do_try_lock): Qualify function calls.
1659         (lock): Avoid narrowing conversion.
1660         * testsuite/20_util/bind/60497.cc: New.
1661         * testsuite/23_containers/array/element_access/60497.cc: New.
1662         * testsuite/30_threads/call_once/60497.cc: New.
1663         * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1665 2014-05-09  Jonathan Wakely  <jwakely@redhat.com>
1667         * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1668         (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1669         * acinclude.m4 (libtool_VERSION): Bump.
1670         * configure: Regenerate.
1671         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1672         * testsuite/28_regex/regex_error/base.cc: New.
1674 2014-05-08  Joshua Gay  <jgay@gnu.org>
1676         PR libstdc++/61117
1677         * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1678         source" with "free software".
1679         * doc/html/faq.html: Likewise.
1681 2014-05-08  Jonathan Wakely  <jwakely@redhat.com>
1683         PR libstdc++/57394
1684         * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1685         deleted for C++11.
1686         (operator=(const ios_base&)): Likewise.
1687         * include/std/streambuf: Remove trailing whitespace.
1688         (basic_streambuf(const basic_streambuf&)): Fix initializer for
1689         _M_out_end. Define as defaulted for C++11.
1690         (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1691         (swap(basic_streambuf&)): Define for C++11.
1692         * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1694         PR libstdc++/13860
1695         * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1697         * include/std/iostream: Fix URL in comment.
1698         * src/c++98/ios_init.cc: Fix path in comment.
1700 2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
1702         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1703         * configure: Regenerate.
1705 2014-05-07  Jonathan Wakely  <jwakely@redhat.com>
1707         PR libstdc++/61023
1708         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1709         comparison function.
1710         * testsuite/23_containers/set/cons/61023.cc: New.
1712         PR libstdc++/61086
1713         * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1714         Remove.
1715         * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1716         arithmetic to obtain a mutable iterator from const_iterator.
1717         * include/bits/vector.tcc (vector::insert): Likewise.
1718         * include/debug/vector (vector::erase): Likewise.
1719         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1720         Adjust dg-error line number.
1721         * testsuite/23_containers/vector/requirements/dr438/
1722         constructor_1_neg.cc: Likewise.
1723         * testsuite/23_containers/vector/requirements/dr438/
1724         constructor_2_neg.cc: Likewise.
1725         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1726         Likewise.
1728 2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>
1730         * include/Makefile.in: Regenerate.
1732 2014-05-06  François Dumont  <fdumont@gcc.gnu.org>
1734         * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1735         parameter to pass the 2 instances to check allocator equality.
1736         * include/debug/safe_container.h: New, define _Safe_container<>.
1737         * include/Makefile.am: Add previous.
1738         * include/debug/deque (std::__debug::deque<>): Inherit
1739         _Safe_container<>. Use default implementation for all special
1740         functions.
1741         * include/debug/forward_list (std::__debug::forward_list<>):
1742         Likewise.
1743         * include/debug/list (std::__debug::list<>): Likewise.
1744         * include/debug/map.h (std::__debug::map<>): Likewise.
1745         * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1746         * include/debug/set.h (std::__debug::set<>): Likewise.
1747         * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1748         * include/debug/string (std::__debug::basic_string<>): Likewise.
1749         * include/debug/unordered_map
1750         (std::__debug::unordered_map<>): Likewise.
1751         (std::__debug::unordered_multimap<>): Likewise.
1752         * include/debug/unordered_set
1753         (std::__debug::unordered_set<>): Likewise.
1754         (std::__debug::unordered_multiset<>): Likewise.
1755         * include/debug/vector (std::__debug::vector<>): Likewise.
1756         * include/debug/safe_base.h (_Safe_sequence_base()): Add
1757         noexcept.
1758         (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1759         (~_Safe_sequence_base()): Add noexcept.
1760         * include/debug/safe_sequence.h
1761         (std::__debug::_Safe_node_sequence<>): New.
1762         * include/debug/safe_unordered_base.h
1763         (_Safe_unordered_container_base()): Add noexcept.
1764         (~_Safe_unordered_container_base()): Likewise.
1765         (_M_swap(_Safe_unordered_container_base&)): Likewise.
1766         * include/debug/safe_unordered_container.h:
1767         (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1768         (_Safe_unordered_container<>::_M_invalidate_all()): New.
1769         * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1770         qualifications.
1771         * testsuite/util/debug/checks.h (check_construct1): Just implement
1772         an invalid constructor invocation  and no other operations
1773         potentially not supported by some types of container.
1774         (check_construct2): Likewise.
1775         (check_construct3): Likewise.
1776         * testsuite/23_containers/forward_list/allocator/move.cc: Add
1777         check on iterators to make sure they are correctly moved in debug
1778         mode.
1779         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1780         Likewise.
1781         * testsuite/23_containers/map/allocator/move.cc: Likewise.
1782         * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1783         * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1784         * testsuite/23_containers/multimap/allocator/move_assign.cc:
1785         Likewise.
1786         * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1787         * testsuite/23_containers/multiset/allocator/move_assign.cc:
1788         Likewise.
1789         * testsuite/23_containers/set/allocator/move.cc: Likewise.
1790         * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1791         * testsuite/23_containers/unordered_map/allocator/move.cc:
1792         Likewise.
1793         * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1794         Likewise.
1795         * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1796         Likewise.
1797         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1798         Likewise.
1799         * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1800         Likewise.
1801         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1802         Likewise.
1803         * testsuite/23_containers/unordered_set/allocator/move.cc:
1804         Likewise.
1805         * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1806         Likewise.
1807         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1808         New.
1809         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1810         New.
1811         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1812         New.
1813         * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1814         New.
1815         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1816         New.
1817         * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1818         * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1819         * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1820         * testsuite/23_containers/map/debug/move_neg.cc: New.
1821         * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1822         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1823         * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1824         * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1825         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1826         * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1827         * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1828         * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1829         * testsuite/23_containers/set/debug/move_neg.cc: New.
1830         * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1831         New.
1832         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1833         New.
1834         * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1835         * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1836         New.
1837         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1838         New.
1839         * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1840         New.
1841         * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1842         New.
1843         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1844         New.
1845         * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1846         New.
1847         * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1848         New.
1849         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1850         New.
1851         * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1852         * testsuite/23_containers/vector/debug/move_neg.cc: New.
1854 2014-05-05  Andreas Schwab  <schwab@linux-m68k.org>
1856         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1857         (CXXABI_1.3.9): Remove __float128 symbols.
1859 2014-05-02  Jonathan Wakely  <jwakely@redhat.com>
1861         PR libstdc++/59476
1862         * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1863         function to handle both C++03 and C++11 _Rb_tree_node implementations.
1864         (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1865         * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1866         refer to...
1867         * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1869         PR libstdc++/61036
1870         * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1871         Check the correct type in the static assertion.
1872         * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1874 2014-04-27  Tim Shen  <timshen91@gmail.com>
1876         * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1877         Add _S_opcode_repeat support to distingush a loop from
1878         _S_opcode_alternative.
1879         * include/bits/regex_automaton.tcc (_State_base::_M_print,
1880         _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1881         _StateSeq<>::_M_clone): Likewise.
1882         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1883         Likewise.
1884         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1885         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1886         Uglify local variable __i.
1887         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1888         Use size_t instead of int to compare with vector::size().
1890 2014-04-27  Tim Shen  <timshen91@gmail.com>
1892         * include/bits/regex_executor.h: Add _M_rep_count to track how
1893         many times this repeat node are visited.
1894         * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1895         _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1896         infinite loop.
1898 2014-04-27  Tim Shen  <timshen91@gmail.com>
1900         * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1901         _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1902         _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1903         * include/bits/regex_automaton.h: Remove quantifier counting variable.
1904         * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1905         Adjust debug NFA dump.
1907 2014-04-25  Lars Gullik Bjønnes  <larsbj@gullik.org>
1909         PR libstdc++/60710
1910         * include/experimental/optional (operator!=): Implement in terms of
1911         operator==.
1912         * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1913         * testsuite/experimental/optional/relops/2.cc: Likewise.
1914         * testsuite/experimental/optional/relops/3.cc: Likewise.
1915         * testsuite/experimental/optional/relops/4.cc: Likewise.
1916         * testsuite/experimental/optional/relops/5.cc: Likewise.
1917         * testsuite/experimental/optional/relops/6.cc: Likewise.
1919 2014-04-25  Jonathan Wakely  <jwakely@redhat.com>
1921         PR libstdc++/60958
1922         * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1923         * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1924         comment.
1926 2014-04-25  Marc Glisse  <marc.glisse@inria.fr>
1928         * testsuite/util/testsuite_abi.cc (check_version): Update for
1929         CXXABI_1.3.9.
1931 2014-04-24  Tim Shen  <timshen91@gmail.com>
1933         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1934         Do _M_alt before _M_next.
1935         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1937 2014-04-24  Marc Glisse  <marc.glisse@inria.fr>
1939         PR libstdc++/43622
1940         * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1941         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1942         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1944 2014-04-24  Andreas Schwab  <schwab@suse.de>
1946         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1947         new CXXABI_1.3.9 symbols.
1949 2014-04-23  Andreas Schwab  <schwab@linux-m68k.org>
1951         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1952         (CXXABI_1.3.9): New version.
1954 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
1956         PR libstdc++/43622
1957         * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1958         * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1959         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1961 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1963         * configure.host: Remove solaris2.9 handling.
1964         Change os_include_dir to os/solaris/solaris2.10.
1965         * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1966         * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1967         * configure: Regenerate.
1968         * config/abi/post/solaris2.9: Remove.
1969         * config/os/solaris/solaris2.9: Rename to ...
1970         * config/os/solaris/solaris2.10: ... this.
1971         * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1972         Remove.
1974         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1975         Remove Solaris 9 reference.
1976         * doc/html/manual/configure.html: Regenerate.
1978         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1979         Remove *-*-solaris2.9 xfail.
1980         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1981         Likewise.
1983         * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1984         xfail.
1986 2014-04-16  Jonathan Wakely  <jwakely@redhat.com>
1988         * include/std/functional (__is_location_invariant): Use __or_ helper.
1990 2014-04-15  Jonathan Wakely  <jwakely@redhat.com>
1992         PR libstdc++/60734
1993         * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1995         PR libstdc++/60695
1996         * include/std/atomic (atomic<_Tp>): Add static assertion.
1997         * testsuite/29_atomics/atomic/60695.cc: New.
1999         PR libstdc++/60594
2000         * include/std/functional (function::_Callable): Exclude own type
2001         from the callable checks.
2002         * testsuite/20_util/function/60594.cc: New.
2004         * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
2005         const to constexpr member functions.
2007         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
2008         delegating constructor.
2009         * include/bits/shared_ptr_base.h
2010         (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
2012         * include/std/atomic: Uglify parameter names.
2014         PR c++/60786
2015         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2016         1.cc: Fix invalid explicit instantiations with unqualified names.
2017         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2018         2.cc: Likweise.
2019         * testsuite/20_util/tuple/53648.cc: Likweise.
2020         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
2021         Likewise.
2022         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
2023         Likewise.
2024         * testsuite/23_containers/unordered_map/requirements/
2025         debug_container.cc: Likewise.
2026         * testsuite/23_containers/unordered_map/requirements/
2027         explicit_instantiation/3.cc: Likewise.
2028         * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
2029         Likewise.
2030         * testsuite/23_containers/unordered_multimap/requirements/
2031         explicit_instantiation/3.cc: Likewise.
2032         * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
2033         Likewise.
2034         * testsuite/23_containers/unordered_multiset/requirements/
2035         explicit_instantiation/3.cc: Likewise.
2036         * testsuite/23_containers/unordered_set/requirements/
2037         debug_container.cc: Likewise.
2038         * testsuite/23_containers/unordered_set/requirements/
2039         explicit_instantiation/3.cc: Likewise.
2041         * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
2042         not use uninitialized members in mem-initializers.
2043         * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
2044         * testsuite/util/testsuite_common_types.h: Update comment.
2046         * include/experimental/string_view: Fix inconsistent exception specs.
2048         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
2049         Remove name of unused parameter.
2051 2014-04-14  Jonathan Wakely  <jwakely@redhat.com>
2053         * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
2054         _Vector_base::_M_allocate): NullablePointer requirements do not
2055         include initialization from literal zero, use value-initialization.
2056         * include/bits/vector.tcc (vector::_M_insert_aux,
2057         vector::_M_explace_back_aux): Likewise for assignment.
2059         * include/bits/allocator.h (operator==, operator!=): Add exception
2060         specifications.
2062         PR libstdc++/60497
2063         * include/std/tuple (get): Qualify calls to prevent ADL.
2064         * testsuite/20_util/tuple/60497.cc: New.
2066         * include/std/tuple (tuple_element_t): Define.
2067         * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
2068         test.
2069         * testsuite/20_util/tuple/tuple_element_t.cc: New.
2071 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
2073         PR libstdc++/59434
2074         * include/bits/stl_iterator.h (move_iterator::reference,
2075         move_iterator::operator*): Implement LWG 2106.
2076         * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
2078 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
2080         * include/std/complex (__complex_exp, pow): Specify the template
2081         parameter in calls to std::polar, for expression templates.
2083 2014-04-10  Andreas Schwab  <schwab@suse.de>
2085         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
2086         symbols.
2087         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
2088         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
2090         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2092 2014-04-07  Jonathan Wakely  <jwakely@redhat.com>
2094         * testsuite/20_util/exchange/1.cc: Add missing return statements.
2095         * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
2096         * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
2097         specifications.
2099 2014-04-02  Dominique d'Humieres  <dominiq@lps.ens.fr>
2100             Jack Howarth <howarth@bromo.med.uc.edu>
2102         PR target/54407
2103         * testsuite/30_threads/condition_variable/54185.cc: Skip for
2104         darwin < 11.
2106 2014-04-01  Jonathan Wakely  <jwakely@redhat.com>
2108         * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
2109         Update link.
2110         * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
2111         Fix broken links.
2112         * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
2113         * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
2114         * doc/xml/manual/concurrency_extensions.xml
2115         (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
2116         * doc/html/*: Regenerate.
2118 2014-03-31  Lars Gullik Bjønnes  <larsbj@gullik.org>
2119             Jonathan Wakely  <jwakely@redhat.com>
2121         PR libstdc++/60270
2122         * include/std/iomanip (_Quoted_string operator>>): Do not clear
2123         string if input is not quoted.
2124         * testsuite/27_io/manipulators/standard/char/60270.cc: New.
2126 2014-03-31  Jonathan Wakely  <jwakely@redhat.com>
2128         * libsupc++/eh_ptr.cc: Improve static_assert messages.
2130 2014-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2132         * testsuite/18_support/exception_ptr/60612-terminate.cc
2133         (terminate, f): Wrap in _GLIBCXX_USE_C99.
2134         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
2136 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
2138         * doc/xml/manual/io.xml (std.io.objects): Additional markup.
2140         * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
2141         * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
2142         Likewise.
2143         * doc/xml/manual/backwards_compatibility.xml (backwards.third):
2144         Likewise.
2145         * doc/xml/manual/test.xml (test.organization.layout): Likewise.
2147         * doc/xml/manual/containers.xml (associative.bitset.size_variable):
2148         Fix bad s/part/chapter/ substitutions.
2149         * doc/xml/manual/io.xml (std.io): Likewise.
2150         * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
2151         * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
2153         * doc/html/*: Regenerate.
2155 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
2157         PR libstdc++/60612
2158         * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
2159         compatible with __cxa_exception.
2160         * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
2161         Fix typos in comments.
2162         * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
2163         * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
2165 2014-03-25  Jonathan Wakely  <jwakely@redhat.com>
2167         PR libstdc++/60658
2168         * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
2169         Use sizeof pointer type not the element type.
2170         * testsuite/29_atomics/atomic/60658.cc: New.
2172 2014-03-24  Jakub Jelinek  <jakub@redhat.com>
2174         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2175         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2176         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2177         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2178         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2179         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2180         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2181         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2182         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
2183         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2184         entries.
2186 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
2188         * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
2190 2014-03-23  François Dumont  <fdumont@gcc.gnu.org>
2192         * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
2193         to delegated constructor.
2194         (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
2195         (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
2196         Likewise.
2197         (_Hashtable(
2198         initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
2200 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
2202         PR libstdc++/60623
2203         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2205 2014-03-21  Jonathan Wakely  <jwakely@redhat.com>
2207         PR libstdc++/60587
2208         * include/debug/functions.h (_Is_contiguous_sequence): Define.
2209         (__foreign_iterator): Accept additional iterator. Do not dispatch on
2210         iterator category.
2211         (__foreign_iterator_aux2): Likewise. Add overload for iterators
2212         from different types of debug container. Use _Is_contiguous_sequence
2213         instead of is_lvalue_reference.
2214         (__foreign_iterator_aux3): Accept additional iterator. Avoid
2215         dereferencing past-the-end iterator.
2216         (__foreign_iterator_aux4): Use const value_type* instead of
2217         potentially user-defined const_pointer type.
2218         * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
2219         and pass end iterator to __gnu_debug::__foreign_iterator.
2220         (__glibcxx_check_insert_range_after): Likewise.
2221         (__glibcxx_check_max_load_factor): Fix comment.
2222         * include/debug/vector (_Is_contiguous_sequence): Define partial
2223         specializations.
2224         * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
2225         -std=gnu++11 option and unused header.
2226         * testsuite/23_containers/vector/debug/60587.cc: New.
2227         * testsuite/23_containers/vector/debug/60587_neg.cc: New.
2229 2014-03-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2231         * crossconfig.m4: Support spu-*-elf* targets.
2232         * configure: Regenerate.
2234 2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
2236         PR libstdc++/60564
2237         * include/std/future (__future_base::_Task_state<>): Change
2238         constructors to template functions using perfect forwarding.
2239         (__create_task_state): Use decayed type as stored task.
2240         (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
2241         * testsuite/30_threads/packaged_task/60564.cc: New.
2243 2014-03-16  François Dumont  <fdumont@gcc.gnu.org>
2245         * scripts/create_testsuite_files: Add testsuite/experimental in
2246         the list of folders to search for tests.
2248 2014-03-15  Andreas Schwab  <schwab@linux-m68k.org>
2250         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
2252 2014-03-15  Tim Shen  <timshen91@gmail.com>
2254         * include/bits/regex.h: Add/modify comments.
2255         * include/bits/regex_compiler.h: Likewise.
2256         * include/bits/regex_executor.h: Likewise.
2257         * include/bits/regex_executor.tcc: Likewise.
2258         * include/bits/regex_scanner.h: Likewise.
2260 2014-03-14  Jonathan Wakely  <jwakely@redhat.com>
2262         PR ipa/58721
2263         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
2264         _ZNSt12system_errorC* symbols which are not exported on any target.
2266 2014-03-12  Roland McGrath  <mcgrathr@google.com>
2267             Mark Seaborn  <mseaborn@google.com>
2269         PR libstdc++/59392
2270         * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
2271         the address of a null pointer, not with a null pointer to pointer.
2272         Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
2273         * testsuite/18_support/bad_exception/59392.cc: New file.
2275 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
2277         PR libstdc++/60499
2278         * include/debug/forward_list (forward_list::operator=(forward_list&&)):
2279         Uglify name.
2280         * include/debug/map (map::operator=(map&&)): Likewise.
2281         * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
2282         * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
2283         * include/debug/set (set::operator=(set&&)): Likewise.
2284         * include/debug/unordered_map
2285         (unordered_map::operator=(unordered_map&&)): Likewise.
2286         (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
2287         * include/debug/unordered_set
2288         (unordered_set::operator=(unordered_set&&)): Likewise.
2289         (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
2290         * include/debug/vector (vector::operator=(vector&&)): Likewise.
2291         * testsuite/23_containers/forward_list/debug/60499.cc: New
2292         * testsuite/23_containers/map/debug/60499.cc: New
2293         * testsuite/23_containers/multimap/debug/60499.cc: New
2294         * testsuite/23_containers/multiset/debug/60499.cc: New
2295         * testsuite/23_containers/set/debug/60499.cc: New
2296         * testsuite/23_containers/unordered_map/debug/60499.cc: New
2297         * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
2298         * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
2299         * testsuite/23_containers/unordered_set/debug/60499.cc: New
2300         * testsuite/23_containers/vector/debug/60499.cc: New
2302 2014-03-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
2304         * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2305         for filesystem and fundamentals TS work items.
2307 2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
2309         PR c++/60376
2310         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2311         Adjust dg-error directives.
2313 2014-02-26  Tim Shen  <timshen91@gmail.com>
2315         * include/bits/regex.tcc (match_results<>::format,
2316         regex_replace<>): Update __out after calling std::copy.
2317         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
2318         Add testcase.
2319         * testsuite/28_regex/match_results/format.cc: Likewise.
2321 2014-02-22  Marc Glisse  <marc.glisse@inria.fr>
2323         PR libstdc++/60308
2324         * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
2325         allocator_type&)): Remove redundant call to _M_initialize_map.
2326         (deque::deque(const allocator_type&)): Initialize _Base with a
2327         constructor that calls _M_initialize_map.
2329         Partial revert:
2331         2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
2332         PR libstdc++/58338
2333         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2334         _M_initialize_map.
2336 2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
2338         Rename testsuite directory shared_mutex to shared_timed_mutex
2339         for consistency.
2340         * testsuite/30_threads/shared_mutex: Moved to...
2341         * testsuite/30_threads/shared_timed_mutex: ...here
2343 2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
2345         Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2346         * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
2347         * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
2348         * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
2349         * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
2350         * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
2351         * testsuite/30_threads/shared_lock/requirements/
2352         explicit_instantiation.cc: Ditto.
2353         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
2354         * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
2355         * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
2356         * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
2357         * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
2358         * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
2359         * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
2360         * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
2361         * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
2362         * testsuite/30_threads/shared_mutex/requirements/
2363         standard_layout.cc: Ditto.
2364         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
2365         * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
2366         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
2367         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
2368         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
2370 2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2372         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
2373         execution on i?86-*-solaris2.9, remove comment.
2374         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2376 2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
2378         * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
2379         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
2380         * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
2382 2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
2384         * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
2385         not use varargs when argument could be non-POD.
2386         (__alloctr_rebind_helper): Eliminate static const bool member by
2387         using true_type and false_type.
2388         (allocator_traits::__allocate_helper): Likewise.
2389         (allocator_traits::__construct_helper): Likewise.
2390         (allocator_traits::__destroy_helper): Likewise.
2391         (allocator_traits::__maxsize_helper): Likewise.
2392         (allocator_traits::__select_helper): Likewise.
2393         * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
2394         * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
2395         Remove redundant condition.
2396         * include/bits/stl_vector.h (vector::operator=(const vector&)):
2397         Likewise.
2398         (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
2399         indirection through __alloc_traits.
2400         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2401         Eliminate static const bool members by using true_type and false_type.
2402         (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
2403         * testsuite/util/testsuite_allocator.h (PointerBase): Define.
2404         * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
2405         New.
2406         * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
2408         PR libstdc++/59829
2409         * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
2410         (vector::_M_data_ptr): New overloaded functions to ensure empty
2411         vectors do not dereference the pointer.
2412         * testsuite/23_containers/vector/59829.cc: New.
2413         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2414         Adjust dg-error line number.
2415         * testsuite/23_containers/vector/requirements/dr438/
2416         constructor_1_neg.cc: Likewise.
2417         * testsuite/23_containers/vector/requirements/dr438/
2418         constructor_2_neg.cc: Likewise.
2419         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2420         Likewise.
2422         PR libstdc++/21609
2423         * include/ext/array_allocator.h: Add deprecated attribute.
2425         PR libstdc++/57226
2426         * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
2427         installation and use of python printers.
2428         * doc/xml/manual/status_cxx2011.xml: Update.
2429         * doc/html/*: Regenerate.
2431 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
2432             Kyle Lippincott  <spectral@google.com>
2434         PR libstdc++/59656
2435         * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
2436         constructor and grant friendship to weak_ptr.
2437         (weak_ptr::lock()): Use new constructor.
2438         * include/bits/shared_ptr_base.h
2439         (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
2440         and define specializations.
2441         (__shared_count): Add new non-throwing constructor.
2442         (__shared_ptr): Add new non-throwing constructor and grant friendship
2443         to __weak_ptr.
2444         (__weak_ptr::lock()): Use new constructor.
2445         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2446         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2448 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
2450         PR libstdc++/59215
2451         * include/bits/shared_ptr_base.h
2452         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2453         load.
2455 2014-01-27  Jason Merrill  <jason@redhat.com>
2457         Core DR 475
2458         PR c++/41174
2459         PR c++/59224
2460         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2461         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2462         (__cxa_allocate_exception): Don't set it here.
2464 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
2466         * include/bits/stl_map.h: Remove anachronistic comment.
2467         * include/bits/stl_multimap.h: Add whitespace.
2468         * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2469         -std=gnu++11 instead of -std=c++11.
2470         * testsuite/23_containers/map/operators/2.cc: Likewise.
2471         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2472         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2473         * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2475         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2476         * configure: Regenerate.
2478 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
2480         PR libstdc++/59531
2481         * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2482         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2484 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
2485             Peter A. Bigot <pab@pabigot.com>
2487         PR libstdc++/59531
2488         * include/experimental/string_view
2489         (copy(_CharT*, size_type, size_type) const): Correct throw string.
2490         Correct copy start location.
2492 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
2493             Peter A. Bigot <pab@pabigot.com>
2495         PR libstdc++/59530
2496         * include/experimental/string_view (operator[](size_type) const):
2497         Fix one-off index error in debug check.
2498         * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2499         test basic_string_view at size().
2500         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2502 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
2503             Peter A. Bigot <pab@pabigot.com>
2505         PR libstdc++/59529
2506         * include/experimental/string_view
2507         (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2508         * testsuite/experimental/string_view/operations/substr/char/1.cc:
2509         Comment out catch of out_of_range; No terminating null
2510         in basic_string_view.  Check begin == end.
2511         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2512         Ditto.
2514 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
2516         PR libstdc++/59548
2517         * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2518         constructor to prevent it being implicitly defined as deleted, but
2519         do not copy anything.
2520         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2521         Define copy and move constructors similar to _Safe_sequence_base's.
2522         * testsuite/23_containers/unordered_map/59548.cc: New.
2524 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
2525             Steve Ellcey  <sellcey@mips.com>
2527         * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2528         function.
2529         * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2530         * (configure, config.h.in): Regenerate.
2531         * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2533 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
2535         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2536         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2538         PR libstdc++/59872
2539         * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2540         * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2541         Likewise.
2542         * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2543         Likewise.
2544         * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2545         * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2546         functions to perform moving or copying of elements from rvalue tree.
2547         (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2548         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2549         * testsuite/23_containers/map/59872.cc: New.
2550         * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2552 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
2554         * include/bits/stl_deque.h (_Deque_impl): Move comment.
2556         PR libstdc++/58764
2557         * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2558         Split into separate default constructor and constructor taking
2559         allocator.
2560         * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2561         * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2562         Likewise.
2563         * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2564         * include/debug/list (list::list(const _Allocator&)): Likewise.
2565         * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2566         Likewise.
2567         * include/debug/multimap.h
2568         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2569         * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2570         Likewise.
2571         * include/debug/multiset.h
2572         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2573         * include/debug/vector (vector::vector(const allocator_type&)):
2574         Likewise.
2575         * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2576         * include/profile/list (list::list(const _Allocator&)): Likewise.
2577         * include/profile/map.h
2578         (map::map(const _Compare&, const _Allocator&)): Likewise.
2579         * include/profile/multimap.h
2580         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2581         * include/profile/set.h
2582         (set::set(const _Compare&, const _Allocator&)): Likewise.
2583         * include/profile/multiset.h
2584         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2585         * include/profile/vector (vector::vector(const _Allocator&)):
2586         Likewise.
2587         * testsuite/23_containers/deque/58764.cc: New.
2588         * testsuite/23_containers/list/58764.cc: New.
2589         * testsuite/23_containers/map/58764.cc: New.
2590         * testsuite/23_containers/multimap/58764.cc: New.
2591         * testsuite/23_containers/set/58764.cc: New.
2592         * testsuite/23_containers/multiset/58764.cc: New.
2593         * testsuite/23_containers/vector/58764.cc: New.
2594         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2595         Adjust dg-error line number.
2596         * testsuite/23_containers/deque/requirements/dr438/
2597         constructor_1_neg.cc: Likewise.
2598         * testsuite/23_containers/deque/requirements/dr438/
2599         constructor_2_neg.cc: Likewise.
2600         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2601         Likewise.
2602         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2603         Likewise.
2604         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2605         Likewise.
2606         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2607         Likewise.
2608         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2609         Likewise.
2610         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2611         Likewise.
2612         * testsuite/23_containers/vector/requirements/dr438/
2613         constructor_1_neg.cc: Likewise.
2614         * testsuite/23_containers/vector/requirements/dr438/
2615         constructor_2_neg.cc: Likewise.
2616         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2617         Likewise.
2619         PR libstdc++/58764 (again)
2620         * include/bits/stl_list.h (list): Make default constructor's exception
2621         specification conditional.
2622         * include/bits/stl_vector.h (vector): Likewise.
2623         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2624         to default constructor.
2625         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2626         Adjust dg-error line number.
2627         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2628         Likewise.
2629         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2630         Likewise.
2631         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2632         Likewise.
2633         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2634         Likewise.
2635         * testsuite/23_containers/vector/requirements/dr438/
2636         constructor_1_neg.cc: Likewise.
2637         * testsuite/23_containers/vector/requirements/dr438/
2638         constructor_2_neg.cc: Likewise.
2639         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2640         Likewise.
2642 2014-01-21  Tim Shen  <timshen91@gmail.com>
2644         * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2645         * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2646         * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2648 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
2650         PR libstdc++/56267
2651         * include/bits/hashtable.h (__cache_default): Do not depend on
2652         whether the hash function is DefaultConstructible or CopyAssignable.
2653         (_Hashtable): Adjust static assertions.
2654         * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2655         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2656         dg-error line number.
2657         * testsuite/23_containers/unordered_set/
2658         not_default_constructible_hash_neg.cc: Remove.
2660 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
2662         * scripts/create_testsuite_files: Add testsuite/experimental in
2663         the list of folders to search for tests.
2664         * include/experimental/string_view
2665         (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2666         incompatible with constexpr qualifier.
2667         (basic_string_view<>::front()): Likewise.
2668         (basic_string_view<>::back()): Likewise.
2669         * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2670         Merge dg-options directives into one.
2671         * testsuite/experimental/string_view/element_access/char/2.cc:
2672         Likewise. Remove invalid experimental namespace scope on
2673         string_view_type.
2675 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
2677         PR libstdc++/56267
2678         * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2679         friendship to _Local_iterator_base<..., false>.
2680         (_Local_iterator_base): Give protected access to all existing members.
2681         (_Local_iterator_base::_M_curr()): New public accessor.
2682         (_Local_iterator_base::_M_get_bucket()): New public accessor.
2683         (_Local_iterator_base<..., false>::_M_init()): New function to manage
2684         the lifetime of the _Hash_code_base explicitly.
2685         (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2686         (_Local_iterator_base<..., false>): Define copy constructor and copy
2687         assignment operator that use new functions to manage _Hash_code_base.
2688         (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2689         operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2690         Use public API for _Local_iterator_base.
2691         * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2692         * include/debug/unordered_map (__debug::unordered_map::erase(),
2693         __debug::unordered_multimap::erase()): Likewise.
2694         * include/debug/unordered_set (__debug::unordered_set::erase(),
2695         __debug::unordered_multiset::erase()): Likewise.
2696         * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2698 2014-01-19  Tim Shen  <timshen91@gmail.com>
2700         * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2701         Fix parse error of multiple consecutive quantifiers like "a**".
2702         * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2703         Likewise.
2704         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2706 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
2708         * include/profile/set.h (set): Implement C++11 allocator-aware
2709         container requirements.
2710         * include/profile/map.h (map): Likewise.
2711         * include/profile/multiset.h (multiset): Likewise.
2712         * include/profile/multimap.h (multimap): Likewise.
2713         * include/profile/set.h
2714         (set::operator=(const set&)): Define as default in C++11 mode.
2715         (set::operator=(set&&)): Likewise.
2716         * include/profile/map.h
2717         (map::operator=(const map&)): Likewise.
2718         (map::operator=(map&&)): Likewise.
2719         * include/profile/multiset.h
2720         (multiset::operator=(const multiset&)): Likewise.
2721         (multiset::operator=(multiset&&)): Likewise.
2722         * include/profile/multimap.h
2723         (multimap::operator=(const multimap&)): Likewise.
2724         (multimap::operator=(multimap&&)): Likewise.
2725         * include/profile/set.h (set::operator=(std::initializer_list<>)):
2726         Rely on the same operator from normal mode.
2727         * include/profile/map.h (map::operator=(std::initializer_list<>)):
2728         Likewise.
2729         * include/profile/multiset.h
2730         (multiset::operator=(std::initializer_list<>)): Likewise.
2731         * include/profile/multimap.h
2732         (multimap::operator=(std::initializer_list<>)): Likewise.
2733         * include/profile/set.h (set::swap(set&)): Add noexcept
2734         specification.
2735         * include/profile/map.h (map::swap(map&)): Likewise.
2736         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2737         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2739 2014-01-17  Tim Shen  <timshen91@gmail.com>
2741         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2742         use std::map.
2743         * include/bits/regex_automaton.h: Do not use std::set.
2744         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2745         _BracketMatcher<>::_M_add_collating_element(),
2746         _BracketMatcher<>::_M_add_equivalence_class(),
2747         _BracketMatcher<>::_M_make_range()): Likewise.
2748         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2749         Likewise.
2750         * include/bits/regex_executor.h: Do not use std::queue.
2751         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2752         _Executor<>::_M_dfs()): Likewise.
2753         * include/std/regex: Remove <map>, <set> and <queue>.
2755 2014-01-17  Tim Shen  <timshen91@gmail.com>
2757         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2758         basic_regex<>::assign()): Change __compile_nfa to accept
2759         const _CharT* only.
2760         * include/bits/regex_compiler.h: Change _Compiler's template
2761         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2762         * include/bits/regex_compiler.tcc: Likewise.
2764 2014-01-17  Tim Shen  <timshen91@gmail.com>
2766         * include/bits/regex_compiler.h: Change _ScannerT into char-type
2767         templated.
2768         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2769         _ScannerBase from _Scanner; Change _Scanner's template argument from
2770         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2771         instead.
2772         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2773         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2774         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2775         Likewise.
2776         * include/std/regex: Add <cstring> for using strchr.
2778 2014-01-17  Tim Shen  <timshen91@gmail.com>
2780         * bits/regex_automaton.tcc: Indentation fix.
2781         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2782         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2783         _BracketMatcher<>): Add bool option template parameters and
2784         specializations to make matching more efficient and space saving.
2785         * bits/regex_compiler.tcc: Likewise.
2787 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
2789         PR libstdc++/59712
2790         * include/bits/hashtable_policy.h: Fix some long lines.
2791         * include/bits/hashtable.h (__hash_code_base_access): Define and
2792         use it to check its _M_bucket_index noexcept qualification. Use
2793         also in place of...
2794         (__access_protected_ctor): ...this.
2795         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2796         Adapt line number.
2797         * testsuite/23_containers/unordered_set/
2798         not_default_constructible_hash_neg.cc: Likewise.
2800 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
2802         * include/debug/set.h (set): Implement C++11 allocator-aware
2803         container requirements.
2804         * include/debug/map.h (map): Likewise.
2805         * include/debug/multiset.h (multiset): Likewise.
2806         * include/debug/multimap.h (multimap): Likewise.
2807         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2808         fix implementation regarding management of safe iterators.
2809         * include/debug/map.h (map::operator=(map&&)): Likewise.
2810         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2811         * include/debug/multimap.h (multimap::operator=(multimap&&)):
2812         Likewise.
2813         * include/debug/set.h (set::operator=(std::initializer_list<>)):
2814         Rely on the same operator from normal mode.
2815         * include/debug/map.h (map::operator=(std::initializer_list<>)):
2816         Likewise.
2817         * include/debug/multiset.h
2818         (multiset::operator=(std::initializer_list<>)): Likewise.
2819         * include/debug/multimap.h
2820         (multimap::operator=(std::initializer_list<>)): Likewise.
2821         * include/debug/set.h (set::swap(set&)): Add noexcept
2822         specification, add allocator equality check.
2823         * include/debug/map.h (map::swap(map&)): Likewise.
2824         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2825         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2827 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
2829         PR libstdc++/59698
2830         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2831         and stylistic improvements.
2832         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2833         and update for C++11.
2834         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2836         PR libstdc++/59687
2837         * doc/xml/manual/backwards_compatibility.xml
2838         (backwards.third.nocreate_noreplace): Correct and expand.
2840         PR libstdc++/59699
2841         * doc/xml/manual/support.xml (std.support.types.null): Update links.
2843 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
2845         PR libstdc++/59738
2846         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2847         support for non-Movable types.
2849         PR libstdc++/59680
2850         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2852 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
2854         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2855         *this allocator instance when building temporary vector instance
2856         so that *this allocator does not get moved.
2857         * include/debug/safe_base.h
2858         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2859         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2860         move constructor from _Safe_sequence_base.
2861         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2862         safe iterators if the instance is moved.
2863         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2864         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2865         check on a vector iterator.
2866         * testsuite/23_containers/vector/allocator/move_assign.cc
2867         (test02): Likewise.
2868         (test03): New, test with a non-propagating allocator.
2869         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2871 2014-01-07  Tim Shen  <timshen91@gmail.com>
2873         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2874         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2875         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2876         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2877         _BracketMatcher<>::_M_add_char(),
2878         _BracketMatcher<>::_M_add_collating_element(),
2879         _BracketMatcher<>::_M_add_equivalence_class(),
2880         _BracketMatcher<>::_M_add_character_class(),
2881         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2882         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2883         Fix _AnyMatcher behavior of POSIX style and move _M_flags
2884         to template parameter; Add cache for _BracketMatcher. Adjust
2885         declarations from here...
2886         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2887         imbuing a regex will trigger a recompilation to rebuild the cache.
2888         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2889         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2890         different template bool parameters.
2891         * include/bits/regex_executor.h: Remove unnecessary declarations.
2892         * include/std/regex: Adjust including orders.
2893         * testsuite/28_regex/traits/char/user_defined.cc: New.
2894         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2896 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2898         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2899         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2900         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2901         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2902         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2904 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2906         Update copyright years
2908 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2910         * testsuite/18_support/new_handler.cc,
2911         testsuite/18_support/terminate_handler.cc,
2912         testsuite/18_support/unexpected_handler.cc: Use the standard form for
2913         the copyright notice.
2915 Copyright (C) 2014 Free Software Foundation, Inc.
2917 Copying and distribution of this file, with or without modification,
2918 are permitted in any medium without royalty provided the copyright
2919 notice and this notice are preserved.