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