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