* python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob0b2bf8924dfa755c21fa490d6bb26962e93d22c8
1 2014-05-19  Jonathan Wakely  <jwakely@redhat.com>
3         * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
5 2014-05-17  Marc Glisse  <marc.glisse@inria.fr>
7         * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
8         * libsupc++/new_opnt.cc: Likewise.
10 2014-05-17  Jonathan Wakely  <jwakely@redhat.com>
12         PR libstdc++/60966
13         * include/std/future (__future_base::_State_baseV2::_M_set_result):
14         Pass lock into _M_do_set and hold it until the function returns.
15         Signal condition variable after call_once completes.
16         (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
17         signal here.
18         * testsuite/30_threads/promise/60966.cc: New.
20 2014-05-16  Iain Sandoe  <iain@codesourcery.com>
21             Sandra Loosemore  <sandra@codesourcery.com>
23         * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
24         until after checking that the test is eligible to be run.
26 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
28         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
29         test for 32-bit target.
30         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
31         Likewise.
32         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
33         Fix test.
35 2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
37         PR libstdc++/60758
38         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
39         and add unwind directives.
41 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
43         * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
44         overflow.
45         * include/std/chrono (chrono_literals::__select_type::_Select_type):
46         Remove.
47         (chrono_literals::_Checked_integral_constant): Define.
48         Simplify UDL operator templates and check for overflow.
49         * testsuite/20_util/duration/literals/range.cc: New.
51 2014-05-16  Ed Smith-Rowland  <3dw4rd@verizon.net>
52             Jonathan Wakely  <jwakely@redhat.com>
54         PR libstdc++/61166
55         * include/bits/parse_numbers.h: Use integral_constant to remove
56         duplication and simplify.
57         * testsuite/20_util/duration/literals/61166.cc: New.
59 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
61         PR libstdc++/60326
62         * include/std/type_traits (__make_unsigned, __make_signed): Define
63         specializations for wchar_t, char16_t and char32_t.
64         * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
65         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
66         test for make_unsigned<volatile wchar_t>.
67         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
68         Likewise.
69         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
70         line number.
71         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
72         Likewise.
73         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
74         Likewise.
76 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
78         * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
79         * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
80         * include/std/utility (tuple_size, tuple_element): Likewise.
81         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
82         Adjust dg-error line number.
84 2014-05-14  Jonathan Wakely  <jwakely@redhat.com>
86         * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
87         (__tuple_element_t): Define.
88         (tuple_element): Use __tuple_element_t.
89         (__cv_tuple_size): Define.
90         (tuple_size<cv _Tp>): Use __cv_tuple_size.
91         (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
92         (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
93         (__tuple_compare): Remove size check, re-order parameters.
94         (operator==, operator<): Use static_assert to check requirements.
95         * include/std/functional (__volget): use __tuple_element_t.
96         * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
97         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
99 2014-05-13  Jonathan Wakely  <jwakely@redhat.com>
101         PR libstdc++/60497
102         * include/std/tuple (get, __tuple_compare): Qualify more calls to
103         prevent ADL. Cast comparison results to bool.
104         * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
105         * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
107         PR libstdc++/60497
108         * include/debug/array (get): Qualify call to other get overload.
109         * include/profile/array (get): Likewise.
110         * include/std/array (get): Likewise.
111         * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
112         * include/std/mutex (unique_lock, call_once): Use __addressof.
113         (__unlock_impl): Remove unused template.
114         (__try_to_lock): Declare inline.
115         (__try_lock_impl::__do_try_lock): Qualify function calls.
116         (lock): Avoid narrowing conversion.
117         * testsuite/20_util/bind/60497.cc: New.
118         * testsuite/23_containers/array/element_access/60497.cc: New.
119         * testsuite/30_threads/call_once/60497.cc: New.
120         * testsuite/30_threads/unique_lock/cons/60497.cc: New.
122 2014-05-09  Jonathan Wakely  <jwakely@redhat.com>
124         * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
125         (GLIBCXX_3.4.21): Export base object constructor for regex_error.
126         * acinclude.m4 (libtool_VERSION): Bump.
127         * configure: Regenerate.
128         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
129         * testsuite/28_regex/regex_error/base.cc: New.
131 2014-05-08  Joshua Gay  <jgay@gnu.org>
133         PR libstdc++/61117
134         * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
135         source" with "free software".
136         * doc/html/faq.html: Likewise.
138 2014-05-08  Jonathan Wakely  <jwakely@redhat.com>
140         PR libstdc++/57394
141         * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
142         deleted for C++11.
143         (operator=(const ios_base&)): Likewise.
144         * include/std/streambuf: Remove trailing whitespace.
145         (basic_streambuf(const basic_streambuf&)): Fix initializer for
146         _M_out_end. Define as defaulted for C++11.
147         (operator=(const basic_streambuf&)): Define as defaulted for C++11.
148         (swap(basic_streambuf&)): Define for C++11.
149         * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
151         PR libstdc++/13860
152         * include/std/fstream (basic_filebuf): Enforce requirements on traits.
154         * include/std/iostream: Fix URL in comment.
155         * src/c++98/ios_init.cc: Fix path in comment.
157 2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
159         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
160         * configure: Regenerate.
162 2014-05-07  Jonathan Wakely  <jwakely@redhat.com>
164         PR libstdc++/61023
165         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
166         comparison function.
167         * testsuite/23_containers/set/cons/61023.cc: New.
169         PR libstdc++/61086
170         * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
171         Remove.
172         * include/bits/stl_vector.h (vector::insert, vector::erase): Use
173         arithmetic to obtain a mutable iterator from const_iterator.
174         * include/bits/vector.tcc (vector::insert): Likewise.
175         * include/debug/vector (vector::erase): Likewise.
176         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
177         Adjust dg-error line number.
178         * testsuite/23_containers/vector/requirements/dr438/
179         constructor_1_neg.cc: Likewise.
180         * testsuite/23_containers/vector/requirements/dr438/
181         constructor_2_neg.cc: Likewise.
182         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
183         Likewise.
185 2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>
187         * include/Makefile.in: Regenerate.
189 2014-05-06  François Dumont  <fdumont@gcc.gnu.org>
191         * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
192         parameter to pass the 2 instances to check allocator equality.
193         * include/debug/safe_container.h: New, define _Safe_container<>.
194         * include/Makefile.am: Add previous.
195         * include/debug/deque (std::__debug::deque<>): Inherit
196         _Safe_container<>. Use default implementation for all special
197         functions.
198         * include/debug/forward_list (std::__debug::forward_list<>):
199         Likewise.
200         * include/debug/list (std::__debug::list<>): Likewise.
201         * include/debug/map.h (std::__debug::map<>): Likewise.
202         * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
203         * include/debug/set.h (std::__debug::set<>): Likewise.
204         * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
205         * include/debug/string (std::__debug::basic_string<>): Likewise.
206         * include/debug/unordered_map
207         (std::__debug::unordered_map<>): Likewise.
208         (std::__debug::unordered_multimap<>): Likewise.
209         * include/debug/unordered_set
210         (std::__debug::unordered_set<>): Likewise.
211         (std::__debug::unordered_multiset<>): Likewise.
212         * include/debug/vector (std::__debug::vector<>): Likewise.
213         * include/debug/safe_base.h (_Safe_sequence_base()): Add
214         noexcept.
215         (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
216         (~_Safe_sequence_base()): Add noexcept.
217         * include/debug/safe_sequence.h
218         (std::__debug::_Safe_node_sequence<>): New.
219         * include/debug/safe_unordered_base.h
220         (_Safe_unordered_container_base()): Add noexcept.
221         (~_Safe_unordered_container_base()): Likewise.
222         (_M_swap(_Safe_unordered_container_base&)): Likewise.
223         * include/debug/safe_unordered_container.h:
224         (_Safe_unordered_container<>::_M_invalidate_locals()): New.
225         (_Safe_unordered_container<>::_M_invalidate_all()): New.
226         * src/c++11/debug.cc: Limit includes, adapt methods noexcept
227         qualifications.
228         * testsuite/util/debug/checks.h (check_construct1): Just implement
229         an invalid constructor invocation  and no other operations
230         potentially not supported by some types of container.
231         (check_construct2): Likewise.
232         (check_construct3): Likewise.
233         * testsuite/23_containers/forward_list/allocator/move.cc: Add
234         check on iterators to make sure they are correctly moved in debug
235         mode.
236         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
237         Likewise.
238         * testsuite/23_containers/map/allocator/move.cc: Likewise.
239         * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
240         * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
241         * testsuite/23_containers/multimap/allocator/move_assign.cc:
242         Likewise.
243         * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
244         * testsuite/23_containers/multiset/allocator/move_assign.cc:
245         Likewise.
246         * testsuite/23_containers/set/allocator/move.cc: Likewise.
247         * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
248         * testsuite/23_containers/unordered_map/allocator/move.cc:
249         Likewise.
250         * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
251         Likewise.
252         * testsuite/23_containers/unordered_multimap/allocator/move.cc:
253         Likewise.
254         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
255         Likewise.
256         * testsuite/23_containers/unordered_multiset/allocator/move.cc:
257         Likewise.
258         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
259         Likewise.
260         * testsuite/23_containers/unordered_set/allocator/move.cc:
261         Likewise.
262         * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
263         Likewise.
264         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
265         New.
266         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
267         New.
268         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
269         New.
270         * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
271         New.
272         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
273         New.
274         * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
275         * testsuite/23_containers/map/debug/construct5_neg.cc: New.
276         * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
277         * testsuite/23_containers/map/debug/move_neg.cc: New.
278         * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
279         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
280         * testsuite/23_containers/multimap/debug/move_neg.cc: New.
281         * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
282         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
283         * testsuite/23_containers/multiset/debug/move_neg.cc: New.
284         * testsuite/23_containers/set/debug/construct5_neg.cc: New.
285         * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
286         * testsuite/23_containers/set/debug/move_neg.cc: New.
287         * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
288         New.
289         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
290         New.
291         * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
292         * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
293         New.
294         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
295         New.
296         * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
297         New.
298         * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
299         New.
300         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
301         New.
302         * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
303         New.
304         * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
305         New.
306         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
307         New.
308         * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
309         * testsuite/23_containers/vector/debug/move_neg.cc: New.
311 2014-05-05  Andreas Schwab  <schwab@linux-m68k.org>
313         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
314         (CXXABI_1.3.9): Remove __float128 symbols.
316 2014-05-02  Jonathan Wakely  <jwakely@redhat.com>
318         PR libstdc++/59476
319         * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
320         function to handle both C++03 and C++11 _Rb_tree_node implementations.
321         (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
322         * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
323         refer to...
324         * testsuite/libstdc++-prettyprinters/simple11.cc: New.
326         PR libstdc++/61036
327         * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
328         Check the correct type in the static assertion.
329         * testsuite/20_util/shared_ptr/cons/61036.cc: New.
331 2014-04-27  Tim Shen  <timshen91@gmail.com>
333         * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
334         Add _S_opcode_repeat support to distingush a loop from
335         _S_opcode_alternative.
336         * include/bits/regex_automaton.tcc (_State_base::_M_print,
337         _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
338         _StateSeq<>::_M_clone): Likewise.
339         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
340         Likewise.
341         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
342         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
343         Uglify local variable __i.
344         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
345         Use size_t instead of int to compare with vector::size().
347 2014-04-27  Tim Shen  <timshen91@gmail.com>
349         * include/bits/regex_executor.h: Add _M_rep_count to track how
350         many times this repeat node are visited.
351         * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
352         _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
353         infinite loop.
355 2014-04-27  Tim Shen  <timshen91@gmail.com>
357         * include/bits/regex.tcc (__regex_algo_impl<>): Remove
358         _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
359         _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
360         * include/bits/regex_automaton.h: Remove quantifier counting variable.
361         * include/bits/regex_automaton.tcc (_State_base::_M_dot):
362         Adjust debug NFA dump.
364 2014-04-25  Lars Gullik Bjønnes  <larsbj@gullik.org>
366         PR libstdc++/60710
367         * include/experimental/optional (operator!=): Implement in terms of
368         operator==.
369         * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
370         * testsuite/experimental/optional/relops/2.cc: Likewise.
371         * testsuite/experimental/optional/relops/3.cc: Likewise.
372         * testsuite/experimental/optional/relops/4.cc: Likewise.
373         * testsuite/experimental/optional/relops/5.cc: Likewise.
374         * testsuite/experimental/optional/relops/6.cc: Likewise.
376 2014-04-25  Jonathan Wakely  <jwakely@redhat.com>
378         PR libstdc++/60958
379         * include/tr1/regex (regex_traits::isctype): Comment out broken code.
380         * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
381         comment.
383 2014-04-25  Marc Glisse  <marc.glisse@inria.fr>
385         * testsuite/util/testsuite_abi.cc (check_version): Update for
386         CXXABI_1.3.9.
388 2014-04-24  Tim Shen  <timshen91@gmail.com>
390         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
391         Do _M_alt before _M_next.
392         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
394 2014-04-24  Marc Glisse  <marc.glisse@inria.fr>
396         PR libstdc++/43622
397         * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
398         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
399         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
401 2014-04-24  Andreas Schwab  <schwab@suse.de>
403         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
404         new CXXABI_1.3.9 symbols.
406 2014-04-23  Andreas Schwab  <schwab@linux-m68k.org>
408         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
409         (CXXABI_1.3.9): New version.
411 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
413         PR libstdc++/43622
414         * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
415         * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
416         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
418 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
420         * configure.host: Remove solaris2.9 handling.
421         Change os_include_dir to os/solaris/solaris2.10.
422         * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
423         * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
424         * configure: Regenerate.
425         * config/abi/post/solaris2.9: Remove.
426         * config/os/solaris/solaris2.9: Rename to ...
427         * config/os/solaris/solaris2.10: ... this.
428         * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
429         Remove.
431         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
432         Remove Solaris 9 reference.
433         * doc/html/manual/configure.html: Regenerate.
435         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
436         Remove *-*-solaris2.9 xfail.
437         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
438         Likewise.
440         * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
441         xfail.
443 2014-04-16  Jonathan Wakely  <jwakely@redhat.com>
445         * include/std/functional (__is_location_invariant): Use __or_ helper.
447 2014-04-15  Jonathan Wakely  <jwakely@redhat.com>
449         PR libstdc++/60734
450         * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
452         PR libstdc++/60695
453         * include/std/atomic (atomic<_Tp>): Add static assertion.
454         * testsuite/29_atomics/atomic/60695.cc: New.
456         PR libstdc++/60594
457         * include/std/functional (function::_Callable): Exclude own type
458         from the callable checks.
459         * testsuite/20_util/function/60594.cc: New.
461         * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
462         const to constexpr member functions.
464         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
465         delegating constructor.
466         * include/bits/shared_ptr_base.h
467         (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
469         * include/std/atomic: Uglify parameter names.
471         PR c++/60786
472         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
473         1.cc: Fix invalid explicit instantiations with unqualified names.
474         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
475         2.cc: Likweise.
476         * testsuite/20_util/tuple/53648.cc: Likweise.
477         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
478         Likewise.
479         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
480         Likewise.
481         * testsuite/23_containers/unordered_map/requirements/
482         debug_container.cc: Likewise.
483         * testsuite/23_containers/unordered_map/requirements/
484         explicit_instantiation/3.cc: Likewise.
485         * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
486         Likewise.
487         * testsuite/23_containers/unordered_multimap/requirements/
488         explicit_instantiation/3.cc: Likewise.
489         * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
490         Likewise.
491         * testsuite/23_containers/unordered_multiset/requirements/
492         explicit_instantiation/3.cc: Likewise.
493         * testsuite/23_containers/unordered_set/requirements/
494         debug_container.cc: Likewise.
495         * testsuite/23_containers/unordered_set/requirements/
496         explicit_instantiation/3.cc: Likewise.
498         * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
499         not use uninitialized members in mem-initializers.
500         * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
501         * testsuite/util/testsuite_common_types.h: Update comment.
503         * include/experimental/string_view: Fix inconsistent exception specs.
505         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
506         Remove name of unused parameter.
508 2014-04-14  Jonathan Wakely  <jwakely@redhat.com>
510         * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
511         _Vector_base::_M_allocate): NullablePointer requirements do not
512         include initialization from literal zero, use value-initialization.
513         * include/bits/vector.tcc (vector::_M_insert_aux,
514         vector::_M_explace_back_aux): Likewise for assignment.
516         * include/bits/allocator.h (operator==, operator!=): Add exception
517         specifications.
519         PR libstdc++/60497
520         * include/std/tuple (get): Qualify calls to prevent ADL.
521         * testsuite/20_util/tuple/60497.cc: New.
523         * include/std/tuple (tuple_element_t): Define.
524         * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
525         test.
526         * testsuite/20_util/tuple/tuple_element_t.cc: New.
528 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
530         PR libstdc++/59434
531         * include/bits/stl_iterator.h (move_iterator::reference,
532         move_iterator::operator*): Implement LWG 2106.
533         * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
535 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
537         * include/std/complex (__complex_exp, pow): Specify the template
538         parameter in calls to std::polar, for expression templates.
540 2014-04-10  Andreas Schwab  <schwab@suse.de>
542         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
543         symbols.
544         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
545         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
547         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
549 2014-04-07  Jonathan Wakely  <jwakely@redhat.com>
551         * testsuite/20_util/exchange/1.cc: Add missing return statements.
552         * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
553         * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
554         specifications.
556 2014-04-02  Dominique d'Humieres  <dominiq@lps.ens.fr>
557             Jack Howarth <howarth@bromo.med.uc.edu>
559         PR target/54407
560         * testsuite/30_threads/condition_variable/54185.cc: Skip for
561         darwin < 11.
563 2014-04-01  Jonathan Wakely  <jwakely@redhat.com>
565         * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
566         Update link.
567         * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
568         Fix broken links.
569         * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
570         * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
571         * doc/xml/manual/concurrency_extensions.xml
572         (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
573         * doc/html/*: Regenerate.
575 2014-03-31  Lars Gullik Bjønnes  <larsbj@gullik.org>
576             Jonathan Wakely  <jwakely@redhat.com>
578         PR libstdc++/60270
579         * include/std/iomanip (_Quoted_string operator>>): Do not clear
580         string if input is not quoted.
581         * testsuite/27_io/manipulators/standard/char/60270.cc: New.
583 2014-03-31  Jonathan Wakely  <jwakely@redhat.com>
585         * libsupc++/eh_ptr.cc: Improve static_assert messages.
587 2014-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
589         * testsuite/18_support/exception_ptr/60612-terminate.cc
590         (terminate, f): Wrap in _GLIBCXX_USE_C99.
591         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
593 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
595         * doc/xml/manual/io.xml (std.io.objects): Additional markup.
597         * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
598         * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
599         Likewise.
600         * doc/xml/manual/backwards_compatibility.xml (backwards.third):
601         Likewise.
602         * doc/xml/manual/test.xml (test.organization.layout): Likewise.
604         * doc/xml/manual/containers.xml (associative.bitset.size_variable):
605         Fix bad s/part/chapter/ substitutions.
606         * doc/xml/manual/io.xml (std.io): Likewise.
607         * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
608         * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
610         * doc/html/*: Regenerate.
612 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
614         PR libstdc++/60612
615         * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
616         compatible with __cxa_exception.
617         * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
618         Fix typos in comments.
619         * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
620         * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
622 2014-03-25  Jonathan Wakely  <jwakely@redhat.com>
624         PR libstdc++/60658
625         * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
626         Use sizeof pointer type not the element type.
627         * testsuite/29_atomics/atomic/60658.cc: New.
629 2014-03-24  Jakub Jelinek  <jakub@redhat.com>
631         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
632         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
633         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
634         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
635         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
636         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
637         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
638         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
639         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
640         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
641         entries.
643 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
645         * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
647 2014-03-23  François Dumont  <fdumont@gcc.gnu.org>
649         * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
650         to delegated constructor.
651         (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
652         (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
653         Likewise.
654         (_Hashtable(
655         initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
657 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
659         PR libstdc++/60623
660         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
662 2014-03-21  Jonathan Wakely  <jwakely@redhat.com>
664         PR libstdc++/60587
665         * include/debug/functions.h (_Is_contiguous_sequence): Define.
666         (__foreign_iterator): Accept additional iterator. Do not dispatch on
667         iterator category.
668         (__foreign_iterator_aux2): Likewise. Add overload for iterators
669         from different types of debug container. Use _Is_contiguous_sequence
670         instead of is_lvalue_reference.
671         (__foreign_iterator_aux3): Accept additional iterator. Avoid
672         dereferencing past-the-end iterator.
673         (__foreign_iterator_aux4): Use const value_type* instead of
674         potentially user-defined const_pointer type.
675         * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
676         and pass end iterator to __gnu_debug::__foreign_iterator.
677         (__glibcxx_check_insert_range_after): Likewise.
678         (__glibcxx_check_max_load_factor): Fix comment.
679         * include/debug/vector (_Is_contiguous_sequence): Define partial
680         specializations.
681         * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
682         -std=gnu++11 option and unused header.
683         * testsuite/23_containers/vector/debug/60587.cc: New.
684         * testsuite/23_containers/vector/debug/60587_neg.cc: New.
686 2014-03-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
688         * crossconfig.m4: Support spu-*-elf* targets.
689         * configure: Regenerate.
691 2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
693         PR libstdc++/60564
694         * include/std/future (__future_base::_Task_state<>): Change
695         constructors to template functions using perfect forwarding.
696         (__create_task_state): Use decayed type as stored task.
697         (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
698         * testsuite/30_threads/packaged_task/60564.cc: New.
700 2014-03-16  François Dumont  <fdumont@gcc.gnu.org>
702         * scripts/create_testsuite_files: Add testsuite/experimental in
703         the list of folders to search for tests.
705 2014-03-15  Andreas Schwab  <schwab@linux-m68k.org>
707         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
709 2014-03-15  Tim Shen  <timshen91@gmail.com>
711         * include/bits/regex.h: Add/modify comments.
712         * include/bits/regex_compiler.h: Likewise.
713         * include/bits/regex_executor.h: Likewise.
714         * include/bits/regex_executor.tcc: Likewise.
715         * include/bits/regex_scanner.h: Likewise.
717 2014-03-14  Jonathan Wakely  <jwakely@redhat.com>
719         PR ipa/58721
720         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
721         _ZNSt12system_errorC* symbols which are not exported on any target.
723 2014-03-12  Roland McGrath  <mcgrathr@google.com>
724             Mark Seaborn  <mseaborn@google.com>
726         PR libstdc++/59392
727         * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
728         the address of a null pointer, not with a null pointer to pointer.
729         Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
730         * testsuite/18_support/bad_exception/59392.cc: New file.
732 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
734         PR libstdc++/60499
735         * include/debug/forward_list (forward_list::operator=(forward_list&&)):
736         Uglify name.
737         * include/debug/map (map::operator=(map&&)): Likewise.
738         * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
739         * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
740         * include/debug/set (set::operator=(set&&)): Likewise.
741         * include/debug/unordered_map
742         (unordered_map::operator=(unordered_map&&)): Likewise.
743         (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
744         * include/debug/unordered_set
745         (unordered_set::operator=(unordered_set&&)): Likewise.
746         (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
747         * include/debug/vector (vector::operator=(vector&&)): Likewise.
748         * testsuite/23_containers/forward_list/debug/60499.cc: New
749         * testsuite/23_containers/map/debug/60499.cc: New
750         * testsuite/23_containers/multimap/debug/60499.cc: New
751         * testsuite/23_containers/multiset/debug/60499.cc: New
752         * testsuite/23_containers/set/debug/60499.cc: New
753         * testsuite/23_containers/unordered_map/debug/60499.cc: New
754         * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
755         * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
756         * testsuite/23_containers/unordered_set/debug/60499.cc: New
757         * testsuite/23_containers/vector/debug/60499.cc: New
759 2014-03-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
761         * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
762         for filesystem and fundamentals TS work items.
764 2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
766         PR c++/60376
767         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
768         Adjust dg-error directives.
770 2014-02-26  Tim Shen  <timshen91@gmail.com>
772         * include/bits/regex.tcc (match_results<>::format,
773         regex_replace<>): Update __out after calling std::copy.
774         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
775         Add testcase.
776         * testsuite/28_regex/match_results/format.cc: Likewise.
778 2014-02-22  Marc Glisse  <marc.glisse@inria.fr>
780         PR libstdc++/60308
781         * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
782         allocator_type&)): Remove redundant call to _M_initialize_map.
783         (deque::deque(const allocator_type&)): Initialize _Base with a
784         constructor that calls _M_initialize_map.
786         Partial revert:
788         2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
789         PR libstdc++/58338
790         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
791         _M_initialize_map.
793 2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
795         Rename testsuite directory shared_mutex to shared_timed_mutex
796         for consistency.
797         * testsuite/30_threads/shared_mutex: Moved to...
798         * testsuite/30_threads/shared_timed_mutex: ...here
800 2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
802         Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
803         * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
804         * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
805         * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
806         * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
807         * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
808         * testsuite/30_threads/shared_lock/requirements/
809         explicit_instantiation.cc: Ditto.
810         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
811         * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
812         * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
813         * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
814         * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
815         * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
816         * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
817         * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
818         * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
819         * testsuite/30_threads/shared_mutex/requirements/
820         standard_layout.cc: Ditto.
821         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
822         * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
823         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
824         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
825         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
827 2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
829         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
830         execution on i?86-*-solaris2.9, remove comment.
831         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
833 2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
835         * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
836         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
837         * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
839 2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
841         * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
842         not use varargs when argument could be non-POD.
843         (__alloctr_rebind_helper): Eliminate static const bool member by
844         using true_type and false_type.
845         (allocator_traits::__allocate_helper): Likewise.
846         (allocator_traits::__construct_helper): Likewise.
847         (allocator_traits::__destroy_helper): Likewise.
848         (allocator_traits::__maxsize_helper): Likewise.
849         (allocator_traits::__select_helper): Likewise.
850         * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
851         * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
852         Remove redundant condition.
853         * include/bits/stl_vector.h (vector::operator=(const vector&)):
854         Likewise.
855         (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
856         indirection through __alloc_traits.
857         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
858         Eliminate static const bool members by using true_type and false_type.
859         (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
860         * testsuite/util/testsuite_allocator.h (PointerBase): Define.
861         * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
862         New.
863         * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
865         PR libstdc++/59829
866         * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
867         (vector::_M_data_ptr): New overloaded functions to ensure empty
868         vectors do not dereference the pointer.
869         * testsuite/23_containers/vector/59829.cc: New.
870         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
871         Adjust dg-error line number.
872         * testsuite/23_containers/vector/requirements/dr438/
873         constructor_1_neg.cc: Likewise.
874         * testsuite/23_containers/vector/requirements/dr438/
875         constructor_2_neg.cc: Likewise.
876         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
877         Likewise.
879         PR libstdc++/21609
880         * include/ext/array_allocator.h: Add deprecated attribute.
882         PR libstdc++/57226
883         * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
884         installation and use of python printers.
885         * doc/xml/manual/status_cxx2011.xml: Update.
886         * doc/html/*: Regenerate.
888 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
889             Kyle Lippincott  <spectral@google.com>
891         PR libstdc++/59656
892         * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
893         constructor and grant friendship to weak_ptr.
894         (weak_ptr::lock()): Use new constructor.
895         * include/bits/shared_ptr_base.h
896         (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
897         and define specializations.
898         (__shared_count): Add new non-throwing constructor.
899         (__shared_ptr): Add new non-throwing constructor and grant friendship
900         to __weak_ptr.
901         (__weak_ptr::lock()): Use new constructor.
902         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
903         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
905 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
907         PR libstdc++/59215
908         * include/bits/shared_ptr_base.h
909         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
910         load.
912 2014-01-27  Jason Merrill  <jason@redhat.com>
914         Core DR 475
915         PR c++/41174
916         PR c++/59224
917         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
918         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
919         (__cxa_allocate_exception): Don't set it here.
921 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
923         * include/bits/stl_map.h: Remove anachronistic comment.
924         * include/bits/stl_multimap.h: Add whitespace.
925         * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
926         -std=gnu++11 instead of -std=c++11.
927         * testsuite/23_containers/map/operators/2.cc: Likewise.
928         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
929         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
930         * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
932         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
933         * configure: Regenerate.
935 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
937         PR libstdc++/59531
938         * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
939         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
941 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
942             Peter A. Bigot <pab@pabigot.com>
944         PR libstdc++/59531
945         * include/experimental/string_view
946         (copy(_CharT*, size_type, size_type) const): Correct throw string.
947         Correct copy start location.
949 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
950             Peter A. Bigot <pab@pabigot.com>
952         PR libstdc++/59530
953         * include/experimental/string_view (operator[](size_type) const):
954         Fix one-off index error in debug check.
955         * testsuite/experimental/string_view/element_access/char/1.cc: Don't
956         test basic_string_view at size().
957         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
959 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
960             Peter A. Bigot <pab@pabigot.com>
962         PR libstdc++/59529
963         * include/experimental/string_view
964         (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
965         * testsuite/experimental/string_view/operations/substr/char/1.cc:
966         Comment out catch of out_of_range; No terminating null
967         in basic_string_view.  Check begin == end.
968         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
969         Ditto.
971 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
973         PR libstdc++/59548
974         * include/debug/safe_base.h (_Safe_sequence_base): Define copy
975         constructor to prevent it being implicitly defined as deleted, but
976         do not copy anything.
977         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
978         Define copy and move constructors similar to _Safe_sequence_base's.
979         * testsuite/23_containers/unordered_map/59548.cc: New.
981 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
982             Steve Ellcey  <sellcey@mips.com>
984         * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
985         function.
986         * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
987         * (configure, config.h.in): Regenerate.
988         * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
990 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
992         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
993         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
995         PR libstdc++/59872
996         * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
997         * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
998         Likewise.
999         * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1000         Likewise.
1001         * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1002         * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1003         functions to perform moving or copying of elements from rvalue tree.
1004         (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1005         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1006         * testsuite/23_containers/map/59872.cc: New.
1007         * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1009 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
1011         * include/bits/stl_deque.h (_Deque_impl): Move comment.
1013         PR libstdc++/58764
1014         * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1015         Split into separate default constructor and constructor taking
1016         allocator.
1017         * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1018         * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1019         Likewise.
1020         * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1021         * include/debug/list (list::list(const _Allocator&)): Likewise.
1022         * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1023         Likewise.
1024         * include/debug/multimap.h
1025         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1026         * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1027         Likewise.
1028         * include/debug/multiset.h
1029         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1030         * include/debug/vector (vector::vector(const allocator_type&)):
1031         Likewise.
1032         * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1033         * include/profile/list (list::list(const _Allocator&)): Likewise.
1034         * include/profile/map.h
1035         (map::map(const _Compare&, const _Allocator&)): Likewise.
1036         * include/profile/multimap.h
1037         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1038         * include/profile/set.h
1039         (set::set(const _Compare&, const _Allocator&)): Likewise.
1040         * include/profile/multiset.h
1041         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1042         * include/profile/vector (vector::vector(const _Allocator&)):
1043         Likewise.
1044         * testsuite/23_containers/deque/58764.cc: New.
1045         * testsuite/23_containers/list/58764.cc: New.
1046         * testsuite/23_containers/map/58764.cc: New.
1047         * testsuite/23_containers/multimap/58764.cc: New.
1048         * testsuite/23_containers/set/58764.cc: New.
1049         * testsuite/23_containers/multiset/58764.cc: New.
1050         * testsuite/23_containers/vector/58764.cc: New.
1051         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1052         Adjust dg-error line number.
1053         * testsuite/23_containers/deque/requirements/dr438/
1054         constructor_1_neg.cc: Likewise.
1055         * testsuite/23_containers/deque/requirements/dr438/
1056         constructor_2_neg.cc: Likewise.
1057         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1058         Likewise.
1059         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1060         Likewise.
1061         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1062         Likewise.
1063         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1064         Likewise.
1065         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1066         Likewise.
1067         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1068         Likewise.
1069         * testsuite/23_containers/vector/requirements/dr438/
1070         constructor_1_neg.cc: Likewise.
1071         * testsuite/23_containers/vector/requirements/dr438/
1072         constructor_2_neg.cc: Likewise.
1073         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1074         Likewise.
1076         PR libstdc++/58764 (again)
1077         * include/bits/stl_list.h (list): Make default constructor's exception
1078         specification conditional.
1079         * include/bits/stl_vector.h (vector): Likewise.
1080         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1081         to default constructor.
1082         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1083         Adjust dg-error line number.
1084         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1085         Likewise.
1086         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1087         Likewise.
1088         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1089         Likewise.
1090         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1091         Likewise.
1092         * testsuite/23_containers/vector/requirements/dr438/
1093         constructor_1_neg.cc: Likewise.
1094         * testsuite/23_containers/vector/requirements/dr438/
1095         constructor_2_neg.cc: Likewise.
1096         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1097         Likewise.
1099 2014-01-21  Tim Shen  <timshen91@gmail.com>
1101         * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1102         * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1103         * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1105 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
1107         PR libstdc++/56267
1108         * include/bits/hashtable.h (__cache_default): Do not depend on
1109         whether the hash function is DefaultConstructible or CopyAssignable.
1110         (_Hashtable): Adjust static assertions.
1111         * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1112         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1113         dg-error line number.
1114         * testsuite/23_containers/unordered_set/
1115         not_default_constructible_hash_neg.cc: Remove.
1117 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
1119         * scripts/create_testsuite_files: Add testsuite/experimental in
1120         the list of folders to search for tests.
1121         * include/experimental/string_view
1122         (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1123         incompatible with constexpr qualifier.
1124         (basic_string_view<>::front()): Likewise.
1125         (basic_string_view<>::back()): Likewise.
1126         * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1127         Merge dg-options directives into one.
1128         * testsuite/experimental/string_view/element_access/char/2.cc:
1129         Likewise. Remove invalid experimental namespace scope on
1130         string_view_type.
1132 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
1134         PR libstdc++/56267
1135         * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1136         friendship to _Local_iterator_base<..., false>.
1137         (_Local_iterator_base): Give protected access to all existing members.
1138         (_Local_iterator_base::_M_curr()): New public accessor.
1139         (_Local_iterator_base::_M_get_bucket()): New public accessor.
1140         (_Local_iterator_base<..., false>::_M_init()): New function to manage
1141         the lifetime of the _Hash_code_base explicitly.
1142         (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1143         (_Local_iterator_base<..., false>): Define copy constructor and copy
1144         assignment operator that use new functions to manage _Hash_code_base.
1145         (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1146         operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1147         Use public API for _Local_iterator_base.
1148         * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1149         * include/debug/unordered_map (__debug::unordered_map::erase(),
1150         __debug::unordered_multimap::erase()): Likewise.
1151         * include/debug/unordered_set (__debug::unordered_set::erase(),
1152         __debug::unordered_multiset::erase()): Likewise.
1153         * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1155 2014-01-19  Tim Shen  <timshen91@gmail.com>
1157         * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1158         Fix parse error of multiple consecutive quantifiers like "a**".
1159         * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1160         Likewise.
1161         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1163 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
1165         * include/profile/set.h (set): Implement C++11 allocator-aware
1166         container requirements.
1167         * include/profile/map.h (map): Likewise.
1168         * include/profile/multiset.h (multiset): Likewise.
1169         * include/profile/multimap.h (multimap): Likewise.
1170         * include/profile/set.h
1171         (set::operator=(const set&)): Define as default in C++11 mode.
1172         (set::operator=(set&&)): Likewise.
1173         * include/profile/map.h
1174         (map::operator=(const map&)): Likewise.
1175         (map::operator=(map&&)): Likewise.
1176         * include/profile/multiset.h
1177         (multiset::operator=(const multiset&)): Likewise.
1178         (multiset::operator=(multiset&&)): Likewise.
1179         * include/profile/multimap.h
1180         (multimap::operator=(const multimap&)): Likewise.
1181         (multimap::operator=(multimap&&)): Likewise.
1182         * include/profile/set.h (set::operator=(std::initializer_list<>)):
1183         Rely on the same operator from normal mode.
1184         * include/profile/map.h (map::operator=(std::initializer_list<>)):
1185         Likewise.
1186         * include/profile/multiset.h
1187         (multiset::operator=(std::initializer_list<>)): Likewise.
1188         * include/profile/multimap.h
1189         (multimap::operator=(std::initializer_list<>)): Likewise.
1190         * include/profile/set.h (set::swap(set&)): Add noexcept
1191         specification.
1192         * include/profile/map.h (map::swap(map&)): Likewise.
1193         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1194         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1196 2014-01-17  Tim Shen  <timshen91@gmail.com>
1198         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1199         use std::map.
1200         * include/bits/regex_automaton.h: Do not use std::set.
1201         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1202         _BracketMatcher<>::_M_add_collating_element(),
1203         _BracketMatcher<>::_M_add_equivalence_class(),
1204         _BracketMatcher<>::_M_make_range()): Likewise.
1205         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1206         Likewise.
1207         * include/bits/regex_executor.h: Do not use std::queue.
1208         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1209         _Executor<>::_M_dfs()): Likewise.
1210         * include/std/regex: Remove <map>, <set> and <queue>.
1212 2014-01-17  Tim Shen  <timshen91@gmail.com>
1214         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1215         basic_regex<>::assign()): Change __compile_nfa to accept
1216         const _CharT* only.
1217         * include/bits/regex_compiler.h: Change _Compiler's template
1218         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1219         * include/bits/regex_compiler.tcc: Likewise.
1221 2014-01-17  Tim Shen  <timshen91@gmail.com>
1223         * include/bits/regex_compiler.h: Change _ScannerT into char-type
1224         templated.
1225         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1226         _ScannerBase from _Scanner; Change _Scanner's template argument from
1227         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1228         instead.
1229         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1230         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1231         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1232         Likewise.
1233         * include/std/regex: Add <cstring> for using strchr.
1235 2014-01-17  Tim Shen  <timshen91@gmail.com>
1237         * bits/regex_automaton.tcc: Indentation fix.
1238         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1239         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1240         _BracketMatcher<>): Add bool option template parameters and
1241         specializations to make matching more efficient and space saving.
1242         * bits/regex_compiler.tcc: Likewise.
1244 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
1246         PR libstdc++/59712
1247         * include/bits/hashtable_policy.h: Fix some long lines.
1248         * include/bits/hashtable.h (__hash_code_base_access): Define and
1249         use it to check its _M_bucket_index noexcept qualification. Use
1250         also in place of...
1251         (__access_protected_ctor): ...this.
1252         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1253         Adapt line number.
1254         * testsuite/23_containers/unordered_set/
1255         not_default_constructible_hash_neg.cc: Likewise.
1257 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
1259         * include/debug/set.h (set): Implement C++11 allocator-aware
1260         container requirements.
1261         * include/debug/map.h (map): Likewise.
1262         * include/debug/multiset.h (multiset): Likewise.
1263         * include/debug/multimap.h (multimap): Likewise.
1264         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1265         fix implementation regarding management of safe iterators.
1266         * include/debug/map.h (map::operator=(map&&)): Likewise.
1267         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1268         * include/debug/multimap.h (multimap::operator=(multimap&&)):
1269         Likewise.
1270         * include/debug/set.h (set::operator=(std::initializer_list<>)):
1271         Rely on the same operator from normal mode.
1272         * include/debug/map.h (map::operator=(std::initializer_list<>)):
1273         Likewise.
1274         * include/debug/multiset.h
1275         (multiset::operator=(std::initializer_list<>)): Likewise.
1276         * include/debug/multimap.h
1277         (multimap::operator=(std::initializer_list<>)): Likewise.
1278         * include/debug/set.h (set::swap(set&)): Add noexcept
1279         specification, add allocator equality check.
1280         * include/debug/map.h (map::swap(map&)): Likewise.
1281         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1282         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1284 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
1286         PR libstdc++/59698
1287         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1288         and stylistic improvements.
1289         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1290         and update for C++11.
1291         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1293         PR libstdc++/59687
1294         * doc/xml/manual/backwards_compatibility.xml
1295         (backwards.third.nocreate_noreplace): Correct and expand.
1297         PR libstdc++/59699
1298         * doc/xml/manual/support.xml (std.support.types.null): Update links.
1300 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
1302         PR libstdc++/59738
1303         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1304         support for non-Movable types.
1306         PR libstdc++/59680
1307         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1309 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
1311         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1312         *this allocator instance when building temporary vector instance
1313         so that *this allocator does not get moved.
1314         * include/debug/safe_base.h
1315         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1316         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1317         move constructor from _Safe_sequence_base.
1318         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1319         safe iterators if the instance is moved.
1320         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1321         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1322         check on a vector iterator.
1323         * testsuite/23_containers/vector/allocator/move_assign.cc
1324         (test02): Likewise.
1325         (test03): New, test with a non-propagating allocator.
1326         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1328 2014-01-07  Tim Shen  <timshen91@gmail.com>
1330         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1331         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1332         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1333         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1334         _BracketMatcher<>::_M_add_char(),
1335         _BracketMatcher<>::_M_add_collating_element(),
1336         _BracketMatcher<>::_M_add_equivalence_class(),
1337         _BracketMatcher<>::_M_add_character_class(),
1338         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1339         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1340         Fix _AnyMatcher behavior of POSIX style and move _M_flags
1341         to template parameter; Add cache for _BracketMatcher. Adjust
1342         declarations from here...
1343         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1344         imbuing a regex will trigger a recompilation to rebuild the cache.
1345         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1346         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1347         different template bool parameters.
1348         * include/bits/regex_executor.h: Remove unnecessary declarations.
1349         * include/std/regex: Adjust including orders.
1350         * testsuite/28_regex/traits/char/user_defined.cc: New.
1351         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1353 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1355         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1356         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1357         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1358         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1359         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1361 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1363         Update copyright years
1365 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1367         * testsuite/18_support/new_handler.cc,
1368         testsuite/18_support/terminate_handler.cc,
1369         testsuite/18_support/unexpected_handler.cc: Use the standard form for
1370         the copyright notice.
1372 Copyright (C) 2014 Free Software Foundation, Inc.
1374 Copying and distribution of this file, with or without modification,
1375 are permitted in any medium without royalty provided the copyright
1376 notice and this notice are preserved.