2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob885718fb5dd8d77c7408aee272c5e358bbbca807
1 2014-06-02  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
2             Jonathan Wakely  <jwakely@redhat.com>
4         * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
5         helper struct.
6         (aligned_union): New struct (C++11).
7         (aligned_union_t): New type alias (C++14).
8         * doc/xml/manual/status_cxx2011.xml: Update.
9         * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
10         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
11         line number.
13 2014-06-01  Jonathan Wakely  <jwakely@redhat.com>
15         PR libstdc++/61374
16         * include/experimental/string_view (operator basic_string): Correct
17         order of arguments.
18         (to_string): Replace with member function.
19         Add inline specifiers. Remove unused header. Remove _S_empty_rep and
20         allow _M_str to be null.
21         * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
22         default constructor semantics.
23         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
24         * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
25         copyright dates. Remove unused header.
26         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
27         Likewise.
28         * testsuite/experimental/string_view/operations/data/char/1.cc:
29         Fix copyright dates. Adjust to new default constructor semantics.
30         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
31         Likewise.
32         * testsuite/experimental/string_view/operations/to_string/1.cc: New.
34         * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
35         (__uses_allocator_arg): Remove unused type.
36         (__uses_alloc0): Turn into a trivial type.
37         (__uses_alloc): Add missing template parameter in primary template.
38         (__uses_alloc_impl): Rename to __uses_alloc_t.
40 2014-05-30  Jonathan Wakely  <jwakely@redhat.com>
42         * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
43         work with previous versions of Tcl.
45         * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
46         Benjamin's old email address.
48         * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
49         Paolo's address too.
51 2014-05-29  Jonathan Wakely  <jwakely@redhat.com>
53         * include/tr2/bool_set: Use UTF-8 for accented characters.
54         * scripts/run_doxygen: Handle Doxygen 1.8.x change.
55         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
56         QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
58 2014-05-27  Jonathan Wakely  <jwakely@redhat.com>
60         PR libstdc++/61329
61         * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
62         inline specifier.
63         (_State_base::_M_dot): Likewise.
65 2014-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
67         * include/profile/map.h: Fix typo in comment; minor formatting fix.
68         * include/profile/multimap.h: Likewise.
69         * include/profile/set.h: Likewise.
70         * include/profile/multiset.h: Likewise.
72 2014-05-24  François Dumont  <fdumont@gcc.gnu.org>
74         * include/profile/array: Clean useless white chars.
75         * include/profile/base.h: Likewise.
76         * include/profile/iterator_tracker.h: Likewise.
77         * include/profile/bitset: Code cleanup and remove not instrumented code.
78         * include/profile/deque: Likewise.
79         * include/profile/forward_list: Likewise.
80         * include/profile/list (std::__profile::_List_profile<>): New.
81         (std::__profile::list<>): Inherit from latter and adapt.
82         * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
83         advise to match any ordered to unordered container conversion.
84         * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
85         New.
86         * include/Makefile.am: Add latter.
87         * include/Makefile.in: Regenerate.
88         * include/profile/map.h (std::__profile::map<>): Inherit from latter,
89         remove not instrumented code.
90         * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
91         * include/profile/set.h (std::__profile::set<>): Likewise.
92         * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
93         * include/profile/unordered_base.h: Add some line feed.
94         * include/profile/unordered_map: Clean useless white chars and replace
95         spaces with tabs.
96         * include/profile/unordered_set: Likewise.
97         * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
98         (std::__profile::_Vector_profile_post<>): New.
99         (std::__profile::vector<>): Inherit from latter and adapt.
101 2014-05-23  Jonathan Wakely  <jwakely@redhat.com>
103         PR libstdc++/60793
104         * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
105         dragonfly target selector to all tests that run on freebsd.
107         * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
108         dragonfly.
109         * testsuite/30_threads/call_once/60497.cc: Add target selectors.
110         * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
112         * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
113         selector.
114         * testsuite/30_threads/call_once/60497.cc: Likewise.
115         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
116         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
117         * testsuite/30_threads/packaged_task/60564.cc: Likewise.
118         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
119         * testsuite/30_threads/promise/60966.cc: Likewise.
120         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
121         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
122         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
123         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
124         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
125         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
126         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
127         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
128         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
129         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
130         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
131         * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
132         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
133         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
134         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
135         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
136         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
138 2014-05-21  François Dumont  <fdumont@gcc.gnu.org>
140         PR libstdc++/61143
141         * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
142         usable state.
143         * testsuite/23_containers/unordered_set/61143.cc: New.
144         * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
146 2014-05-21  Jonathan Wakely  <jwakely@redhat.com>
148         PR libstdc++/61269
149         * include/std/type_traits: Move include outside namespace std.
150         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
151         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
152         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
153         Likewise.
155         * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
156         Fix warning.
158 2014-05-21  John Marino  <gnugcc@marino.st>
160         * acinclude.m4 (*-*-dragonfly*): New target.
161         * configure: Regenerate.
162         * configure.host (*-*-dragonfly*): New target.
163         * config/locale/dragonfly/c_locale.cc: New.
164         * config/locale/dragonfly/ctype_members.cc: New.
165         * config/os/bsd/dragonfly/ctype_base.h: New.
166         * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
167         * config/os/bsd/dragonfly/ctype_inline.h: New.
168         * config/os/bsd/dragonfly/os_defines.h: New.
170 2014-05-20  Cesar Philippidis  <cesar@codesourcery.com>
172         * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since 
173         libstdc++.exp imports those flags via getenv.
174         * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that 
175         CXXFLAGS contains a '-O' flag. 
177 2014-05-20  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
179         PR libstdc++/61223
180         Revert:
181         2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
183         PR libstdc++/60758
184         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
185         and add unwind directives.
187 2014-05-20  Sebastian Huber  <sebastian.huber@embedded-brains.de>
189         * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
191 2014-05-20  Tim Shen  <timshen91@gmail.com>
193         PR libstdc++/61227
194         * include/bits/regex_compiler.h
195         (_BracketMatcher<>::_M_add_character_class): Add negative character
196         class support.
197         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
198         Likewise.
199         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
200         Add more testcases.
202 2014-05-19  Jonathan Wakely  <jwakely@redhat.com>
204         * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
206 2014-05-17  Marc Glisse  <marc.glisse@inria.fr>
208         * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
209         * libsupc++/new_opnt.cc: Likewise.
211 2014-05-17  Jonathan Wakely  <jwakely@redhat.com>
213         PR libstdc++/60966
214         * include/std/future (__future_base::_State_baseV2::_M_set_result):
215         Pass lock into _M_do_set and hold it until the function returns.
216         Signal condition variable after call_once completes.
217         (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
218         signal here.
219         * testsuite/30_threads/promise/60966.cc: New.
221 2014-05-16  Iain Sandoe  <iain@codesourcery.com>
222             Sandra Loosemore  <sandra@codesourcery.com>
224         * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
225         until after checking that the test is eligible to be run.
227 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
229         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
230         test for 32-bit target.
231         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
232         Likewise.
233         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
234         Fix test.
236 2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
238         PR libstdc++/60758
239         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
240         and add unwind directives.
242 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
244         * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
245         overflow.
246         * include/std/chrono (chrono_literals::__select_type::_Select_type):
247         Remove.
248         (chrono_literals::_Checked_integral_constant): Define.
249         Simplify UDL operator templates and check for overflow.
250         * testsuite/20_util/duration/literals/range.cc: New.
252 2014-05-16  Ed Smith-Rowland  <3dw4rd@verizon.net>
253             Jonathan Wakely  <jwakely@redhat.com>
255         PR libstdc++/61166
256         * include/bits/parse_numbers.h: Use integral_constant to remove
257         duplication and simplify.
258         * testsuite/20_util/duration/literals/61166.cc: New.
260 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
262         PR libstdc++/60326
263         * include/std/type_traits (__make_unsigned, __make_signed): Define
264         specializations for wchar_t, char16_t and char32_t.
265         * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
266         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
267         test for make_unsigned<volatile wchar_t>.
268         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
269         Likewise.
270         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
271         line number.
272         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
273         Likewise.
274         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
275         Likewise.
277 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
279         * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
280         * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
281         * include/std/utility (tuple_size, tuple_element): Likewise.
282         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
283         Adjust dg-error line number.
285 2014-05-14  Jonathan Wakely  <jwakely@redhat.com>
287         * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
288         (__tuple_element_t): Define.
289         (tuple_element): Use __tuple_element_t.
290         (__cv_tuple_size): Define.
291         (tuple_size<cv _Tp>): Use __cv_tuple_size.
292         (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
293         (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
294         (__tuple_compare): Remove size check, re-order parameters.
295         (operator==, operator<): Use static_assert to check requirements.
296         * include/std/functional (__volget): use __tuple_element_t.
297         * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
298         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
300 2014-05-13  Jonathan Wakely  <jwakely@redhat.com>
302         PR libstdc++/60497
303         * include/std/tuple (get, __tuple_compare): Qualify more calls to
304         prevent ADL. Cast comparison results to bool.
305         * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
306         * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
308         PR libstdc++/60497
309         * include/debug/array (get): Qualify call to other get overload.
310         * include/profile/array (get): Likewise.
311         * include/std/array (get): Likewise.
312         * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
313         * include/std/mutex (unique_lock, call_once): Use __addressof.
314         (__unlock_impl): Remove unused template.
315         (__try_to_lock): Declare inline.
316         (__try_lock_impl::__do_try_lock): Qualify function calls.
317         (lock): Avoid narrowing conversion.
318         * testsuite/20_util/bind/60497.cc: New.
319         * testsuite/23_containers/array/element_access/60497.cc: New.
320         * testsuite/30_threads/call_once/60497.cc: New.
321         * testsuite/30_threads/unique_lock/cons/60497.cc: New.
323 2014-05-09  Jonathan Wakely  <jwakely@redhat.com>
325         * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
326         (GLIBCXX_3.4.21): Export base object constructor for regex_error.
327         * acinclude.m4 (libtool_VERSION): Bump.
328         * configure: Regenerate.
329         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
330         * testsuite/28_regex/regex_error/base.cc: New.
332 2014-05-08  Joshua Gay  <jgay@gnu.org>
334         PR libstdc++/61117
335         * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
336         source" with "free software".
337         * doc/html/faq.html: Likewise.
339 2014-05-08  Jonathan Wakely  <jwakely@redhat.com>
341         PR libstdc++/57394
342         * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
343         deleted for C++11.
344         (operator=(const ios_base&)): Likewise.
345         * include/std/streambuf: Remove trailing whitespace.
346         (basic_streambuf(const basic_streambuf&)): Fix initializer for
347         _M_out_end. Define as defaulted for C++11.
348         (operator=(const basic_streambuf&)): Define as defaulted for C++11.
349         (swap(basic_streambuf&)): Define for C++11.
350         * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
352         PR libstdc++/13860
353         * include/std/fstream (basic_filebuf): Enforce requirements on traits.
355         * include/std/iostream: Fix URL in comment.
356         * src/c++98/ios_init.cc: Fix path in comment.
358 2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
360         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
361         * configure: Regenerate.
363 2014-05-07  Jonathan Wakely  <jwakely@redhat.com>
365         PR libstdc++/61023
366         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
367         comparison function.
368         * testsuite/23_containers/set/cons/61023.cc: New.
370         PR libstdc++/61086
371         * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
372         Remove.
373         * include/bits/stl_vector.h (vector::insert, vector::erase): Use
374         arithmetic to obtain a mutable iterator from const_iterator.
375         * include/bits/vector.tcc (vector::insert): Likewise.
376         * include/debug/vector (vector::erase): Likewise.
377         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
378         Adjust dg-error line number.
379         * testsuite/23_containers/vector/requirements/dr438/
380         constructor_1_neg.cc: Likewise.
381         * testsuite/23_containers/vector/requirements/dr438/
382         constructor_2_neg.cc: Likewise.
383         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
384         Likewise.
386 2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>
388         * include/Makefile.in: Regenerate.
390 2014-05-06  François Dumont  <fdumont@gcc.gnu.org>
392         * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
393         parameter to pass the 2 instances to check allocator equality.
394         * include/debug/safe_container.h: New, define _Safe_container<>.
395         * include/Makefile.am: Add previous.
396         * include/debug/deque (std::__debug::deque<>): Inherit
397         _Safe_container<>. Use default implementation for all special
398         functions.
399         * include/debug/forward_list (std::__debug::forward_list<>):
400         Likewise.
401         * include/debug/list (std::__debug::list<>): Likewise.
402         * include/debug/map.h (std::__debug::map<>): Likewise.
403         * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
404         * include/debug/set.h (std::__debug::set<>): Likewise.
405         * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
406         * include/debug/string (std::__debug::basic_string<>): Likewise.
407         * include/debug/unordered_map
408         (std::__debug::unordered_map<>): Likewise.
409         (std::__debug::unordered_multimap<>): Likewise.
410         * include/debug/unordered_set
411         (std::__debug::unordered_set<>): Likewise.
412         (std::__debug::unordered_multiset<>): Likewise.
413         * include/debug/vector (std::__debug::vector<>): Likewise.
414         * include/debug/safe_base.h (_Safe_sequence_base()): Add
415         noexcept.
416         (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
417         (~_Safe_sequence_base()): Add noexcept.
418         * include/debug/safe_sequence.h
419         (std::__debug::_Safe_node_sequence<>): New.
420         * include/debug/safe_unordered_base.h
421         (_Safe_unordered_container_base()): Add noexcept.
422         (~_Safe_unordered_container_base()): Likewise.
423         (_M_swap(_Safe_unordered_container_base&)): Likewise.
424         * include/debug/safe_unordered_container.h:
425         (_Safe_unordered_container<>::_M_invalidate_locals()): New.
426         (_Safe_unordered_container<>::_M_invalidate_all()): New.
427         * src/c++11/debug.cc: Limit includes, adapt methods noexcept
428         qualifications.
429         * testsuite/util/debug/checks.h (check_construct1): Just implement
430         an invalid constructor invocation  and no other operations
431         potentially not supported by some types of container.
432         (check_construct2): Likewise.
433         (check_construct3): Likewise.
434         * testsuite/23_containers/forward_list/allocator/move.cc: Add
435         check on iterators to make sure they are correctly moved in debug
436         mode.
437         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
438         Likewise.
439         * testsuite/23_containers/map/allocator/move.cc: Likewise.
440         * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
441         * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
442         * testsuite/23_containers/multimap/allocator/move_assign.cc:
443         Likewise.
444         * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
445         * testsuite/23_containers/multiset/allocator/move_assign.cc:
446         Likewise.
447         * testsuite/23_containers/set/allocator/move.cc: Likewise.
448         * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
449         * testsuite/23_containers/unordered_map/allocator/move.cc:
450         Likewise.
451         * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
452         Likewise.
453         * testsuite/23_containers/unordered_multimap/allocator/move.cc:
454         Likewise.
455         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
456         Likewise.
457         * testsuite/23_containers/unordered_multiset/allocator/move.cc:
458         Likewise.
459         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
460         Likewise.
461         * testsuite/23_containers/unordered_set/allocator/move.cc:
462         Likewise.
463         * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
464         Likewise.
465         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
466         New.
467         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
468         New.
469         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
470         New.
471         * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
472         New.
473         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
474         New.
475         * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
476         * testsuite/23_containers/map/debug/construct5_neg.cc: New.
477         * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
478         * testsuite/23_containers/map/debug/move_neg.cc: New.
479         * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
480         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
481         * testsuite/23_containers/multimap/debug/move_neg.cc: New.
482         * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
483         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
484         * testsuite/23_containers/multiset/debug/move_neg.cc: New.
485         * testsuite/23_containers/set/debug/construct5_neg.cc: New.
486         * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
487         * testsuite/23_containers/set/debug/move_neg.cc: New.
488         * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
489         New.
490         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
491         New.
492         * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
493         * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
494         New.
495         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
496         New.
497         * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
498         New.
499         * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
500         New.
501         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
502         New.
503         * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
504         New.
505         * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
506         New.
507         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
508         New.
509         * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
510         * testsuite/23_containers/vector/debug/move_neg.cc: New.
512 2014-05-05  Andreas Schwab  <schwab@linux-m68k.org>
514         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
515         (CXXABI_1.3.9): Remove __float128 symbols.
517 2014-05-02  Jonathan Wakely  <jwakely@redhat.com>
519         PR libstdc++/59476
520         * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
521         function to handle both C++03 and C++11 _Rb_tree_node implementations.
522         (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
523         * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
524         refer to...
525         * testsuite/libstdc++-prettyprinters/simple11.cc: New.
527         PR libstdc++/61036
528         * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
529         Check the correct type in the static assertion.
530         * testsuite/20_util/shared_ptr/cons/61036.cc: New.
532 2014-04-27  Tim Shen  <timshen91@gmail.com>
534         * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
535         Add _S_opcode_repeat support to distingush a loop from
536         _S_opcode_alternative.
537         * include/bits/regex_automaton.tcc (_State_base::_M_print,
538         _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
539         _StateSeq<>::_M_clone): Likewise.
540         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
541         Likewise.
542         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
543         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
544         Uglify local variable __i.
545         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
546         Use size_t instead of int to compare with vector::size().
548 2014-04-27  Tim Shen  <timshen91@gmail.com>
550         * include/bits/regex_executor.h: Add _M_rep_count to track how
551         many times this repeat node are visited.
552         * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
553         _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
554         infinite loop.
556 2014-04-27  Tim Shen  <timshen91@gmail.com>
558         * include/bits/regex.tcc (__regex_algo_impl<>): Remove
559         _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
560         _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
561         * include/bits/regex_automaton.h: Remove quantifier counting variable.
562         * include/bits/regex_automaton.tcc (_State_base::_M_dot):
563         Adjust debug NFA dump.
565 2014-04-25  Lars Gullik Bjønnes  <larsbj@gullik.org>
567         PR libstdc++/60710
568         * include/experimental/optional (operator!=): Implement in terms of
569         operator==.
570         * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
571         * testsuite/experimental/optional/relops/2.cc: Likewise.
572         * testsuite/experimental/optional/relops/3.cc: Likewise.
573         * testsuite/experimental/optional/relops/4.cc: Likewise.
574         * testsuite/experimental/optional/relops/5.cc: Likewise.
575         * testsuite/experimental/optional/relops/6.cc: Likewise.
577 2014-04-25  Jonathan Wakely  <jwakely@redhat.com>
579         PR libstdc++/60958
580         * include/tr1/regex (regex_traits::isctype): Comment out broken code.
581         * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
582         comment.
584 2014-04-25  Marc Glisse  <marc.glisse@inria.fr>
586         * testsuite/util/testsuite_abi.cc (check_version): Update for
587         CXXABI_1.3.9.
589 2014-04-24  Tim Shen  <timshen91@gmail.com>
591         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
592         Do _M_alt before _M_next.
593         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
595 2014-04-24  Marc Glisse  <marc.glisse@inria.fr>
597         PR libstdc++/43622
598         * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
599         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
600         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
602 2014-04-24  Andreas Schwab  <schwab@suse.de>
604         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
605         new CXXABI_1.3.9 symbols.
607 2014-04-23  Andreas Schwab  <schwab@linux-m68k.org>
609         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
610         (CXXABI_1.3.9): New version.
612 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
614         PR libstdc++/43622
615         * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
616         * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
617         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
619 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
621         * configure.host: Remove solaris2.9 handling.
622         Change os_include_dir to os/solaris/solaris2.10.
623         * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
624         * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
625         * configure: Regenerate.
626         * config/abi/post/solaris2.9: Remove.
627         * config/os/solaris/solaris2.9: Rename to ...
628         * config/os/solaris/solaris2.10: ... this.
629         * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
630         Remove.
632         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
633         Remove Solaris 9 reference.
634         * doc/html/manual/configure.html: Regenerate.
636         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
637         Remove *-*-solaris2.9 xfail.
638         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
639         Likewise.
641         * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
642         xfail.
644 2014-04-16  Jonathan Wakely  <jwakely@redhat.com>
646         * include/std/functional (__is_location_invariant): Use __or_ helper.
648 2014-04-15  Jonathan Wakely  <jwakely@redhat.com>
650         PR libstdc++/60734
651         * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
653         PR libstdc++/60695
654         * include/std/atomic (atomic<_Tp>): Add static assertion.
655         * testsuite/29_atomics/atomic/60695.cc: New.
657         PR libstdc++/60594
658         * include/std/functional (function::_Callable): Exclude own type
659         from the callable checks.
660         * testsuite/20_util/function/60594.cc: New.
662         * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
663         const to constexpr member functions.
665         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
666         delegating constructor.
667         * include/bits/shared_ptr_base.h
668         (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
670         * include/std/atomic: Uglify parameter names.
672         PR c++/60786
673         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
674         1.cc: Fix invalid explicit instantiations with unqualified names.
675         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
676         2.cc: Likweise.
677         * testsuite/20_util/tuple/53648.cc: Likweise.
678         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
679         Likewise.
680         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
681         Likewise.
682         * testsuite/23_containers/unordered_map/requirements/
683         debug_container.cc: Likewise.
684         * testsuite/23_containers/unordered_map/requirements/
685         explicit_instantiation/3.cc: Likewise.
686         * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
687         Likewise.
688         * testsuite/23_containers/unordered_multimap/requirements/
689         explicit_instantiation/3.cc: Likewise.
690         * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
691         Likewise.
692         * testsuite/23_containers/unordered_multiset/requirements/
693         explicit_instantiation/3.cc: Likewise.
694         * testsuite/23_containers/unordered_set/requirements/
695         debug_container.cc: Likewise.
696         * testsuite/23_containers/unordered_set/requirements/
697         explicit_instantiation/3.cc: Likewise.
699         * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
700         not use uninitialized members in mem-initializers.
701         * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
702         * testsuite/util/testsuite_common_types.h: Update comment.
704         * include/experimental/string_view: Fix inconsistent exception specs.
706         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
707         Remove name of unused parameter.
709 2014-04-14  Jonathan Wakely  <jwakely@redhat.com>
711         * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
712         _Vector_base::_M_allocate): NullablePointer requirements do not
713         include initialization from literal zero, use value-initialization.
714         * include/bits/vector.tcc (vector::_M_insert_aux,
715         vector::_M_explace_back_aux): Likewise for assignment.
717         * include/bits/allocator.h (operator==, operator!=): Add exception
718         specifications.
720         PR libstdc++/60497
721         * include/std/tuple (get): Qualify calls to prevent ADL.
722         * testsuite/20_util/tuple/60497.cc: New.
724         * include/std/tuple (tuple_element_t): Define.
725         * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
726         test.
727         * testsuite/20_util/tuple/tuple_element_t.cc: New.
729 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
731         PR libstdc++/59434
732         * include/bits/stl_iterator.h (move_iterator::reference,
733         move_iterator::operator*): Implement LWG 2106.
734         * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
736 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
738         * include/std/complex (__complex_exp, pow): Specify the template
739         parameter in calls to std::polar, for expression templates.
741 2014-04-10  Andreas Schwab  <schwab@suse.de>
743         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
744         symbols.
745         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
746         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
748         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
750 2014-04-07  Jonathan Wakely  <jwakely@redhat.com>
752         * testsuite/20_util/exchange/1.cc: Add missing return statements.
753         * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
754         * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
755         specifications.
757 2014-04-02  Dominique d'Humieres  <dominiq@lps.ens.fr>
758             Jack Howarth <howarth@bromo.med.uc.edu>
760         PR target/54407
761         * testsuite/30_threads/condition_variable/54185.cc: Skip for
762         darwin < 11.
764 2014-04-01  Jonathan Wakely  <jwakely@redhat.com>
766         * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
767         Update link.
768         * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
769         Fix broken links.
770         * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
771         * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
772         * doc/xml/manual/concurrency_extensions.xml
773         (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
774         * doc/html/*: Regenerate.
776 2014-03-31  Lars Gullik Bjønnes  <larsbj@gullik.org>
777             Jonathan Wakely  <jwakely@redhat.com>
779         PR libstdc++/60270
780         * include/std/iomanip (_Quoted_string operator>>): Do not clear
781         string if input is not quoted.
782         * testsuite/27_io/manipulators/standard/char/60270.cc: New.
784 2014-03-31  Jonathan Wakely  <jwakely@redhat.com>
786         * libsupc++/eh_ptr.cc: Improve static_assert messages.
788 2014-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
790         * testsuite/18_support/exception_ptr/60612-terminate.cc
791         (terminate, f): Wrap in _GLIBCXX_USE_C99.
792         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
794 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
796         * doc/xml/manual/io.xml (std.io.objects): Additional markup.
798         * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
799         * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
800         Likewise.
801         * doc/xml/manual/backwards_compatibility.xml (backwards.third):
802         Likewise.
803         * doc/xml/manual/test.xml (test.organization.layout): Likewise.
805         * doc/xml/manual/containers.xml (associative.bitset.size_variable):
806         Fix bad s/part/chapter/ substitutions.
807         * doc/xml/manual/io.xml (std.io): Likewise.
808         * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
809         * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
811         * doc/html/*: Regenerate.
813 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
815         PR libstdc++/60612
816         * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
817         compatible with __cxa_exception.
818         * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
819         Fix typos in comments.
820         * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
821         * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
823 2014-03-25  Jonathan Wakely  <jwakely@redhat.com>
825         PR libstdc++/60658
826         * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
827         Use sizeof pointer type not the element type.
828         * testsuite/29_atomics/atomic/60658.cc: New.
830 2014-03-24  Jakub Jelinek  <jakub@redhat.com>
832         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
833         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
834         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
835         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
836         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
837         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
838         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
839         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
840         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
841         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
842         entries.
844 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
846         * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
848 2014-03-23  François Dumont  <fdumont@gcc.gnu.org>
850         * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
851         to delegated constructor.
852         (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
853         (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
854         Likewise.
855         (_Hashtable(
856         initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
858 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
860         PR libstdc++/60623
861         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
863 2014-03-21  Jonathan Wakely  <jwakely@redhat.com>
865         PR libstdc++/60587
866         * include/debug/functions.h (_Is_contiguous_sequence): Define.
867         (__foreign_iterator): Accept additional iterator. Do not dispatch on
868         iterator category.
869         (__foreign_iterator_aux2): Likewise. Add overload for iterators
870         from different types of debug container. Use _Is_contiguous_sequence
871         instead of is_lvalue_reference.
872         (__foreign_iterator_aux3): Accept additional iterator. Avoid
873         dereferencing past-the-end iterator.
874         (__foreign_iterator_aux4): Use const value_type* instead of
875         potentially user-defined const_pointer type.
876         * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
877         and pass end iterator to __gnu_debug::__foreign_iterator.
878         (__glibcxx_check_insert_range_after): Likewise.
879         (__glibcxx_check_max_load_factor): Fix comment.
880         * include/debug/vector (_Is_contiguous_sequence): Define partial
881         specializations.
882         * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
883         -std=gnu++11 option and unused header.
884         * testsuite/23_containers/vector/debug/60587.cc: New.
885         * testsuite/23_containers/vector/debug/60587_neg.cc: New.
887 2014-03-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
889         * crossconfig.m4: Support spu-*-elf* targets.
890         * configure: Regenerate.
892 2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
894         PR libstdc++/60564
895         * include/std/future (__future_base::_Task_state<>): Change
896         constructors to template functions using perfect forwarding.
897         (__create_task_state): Use decayed type as stored task.
898         (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
899         * testsuite/30_threads/packaged_task/60564.cc: New.
901 2014-03-16  François Dumont  <fdumont@gcc.gnu.org>
903         * scripts/create_testsuite_files: Add testsuite/experimental in
904         the list of folders to search for tests.
906 2014-03-15  Andreas Schwab  <schwab@linux-m68k.org>
908         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
910 2014-03-15  Tim Shen  <timshen91@gmail.com>
912         * include/bits/regex.h: Add/modify comments.
913         * include/bits/regex_compiler.h: Likewise.
914         * include/bits/regex_executor.h: Likewise.
915         * include/bits/regex_executor.tcc: Likewise.
916         * include/bits/regex_scanner.h: Likewise.
918 2014-03-14  Jonathan Wakely  <jwakely@redhat.com>
920         PR ipa/58721
921         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
922         _ZNSt12system_errorC* symbols which are not exported on any target.
924 2014-03-12  Roland McGrath  <mcgrathr@google.com>
925             Mark Seaborn  <mseaborn@google.com>
927         PR libstdc++/59392
928         * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
929         the address of a null pointer, not with a null pointer to pointer.
930         Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
931         * testsuite/18_support/bad_exception/59392.cc: New file.
933 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
935         PR libstdc++/60499
936         * include/debug/forward_list (forward_list::operator=(forward_list&&)):
937         Uglify name.
938         * include/debug/map (map::operator=(map&&)): Likewise.
939         * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
940         * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
941         * include/debug/set (set::operator=(set&&)): Likewise.
942         * include/debug/unordered_map
943         (unordered_map::operator=(unordered_map&&)): Likewise.
944         (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
945         * include/debug/unordered_set
946         (unordered_set::operator=(unordered_set&&)): Likewise.
947         (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
948         * include/debug/vector (vector::operator=(vector&&)): Likewise.
949         * testsuite/23_containers/forward_list/debug/60499.cc: New
950         * testsuite/23_containers/map/debug/60499.cc: New
951         * testsuite/23_containers/multimap/debug/60499.cc: New
952         * testsuite/23_containers/multiset/debug/60499.cc: New
953         * testsuite/23_containers/set/debug/60499.cc: New
954         * testsuite/23_containers/unordered_map/debug/60499.cc: New
955         * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
956         * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
957         * testsuite/23_containers/unordered_set/debug/60499.cc: New
958         * testsuite/23_containers/vector/debug/60499.cc: New
960 2014-03-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
962         * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
963         for filesystem and fundamentals TS work items.
965 2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
967         PR c++/60376
968         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
969         Adjust dg-error directives.
971 2014-02-26  Tim Shen  <timshen91@gmail.com>
973         * include/bits/regex.tcc (match_results<>::format,
974         regex_replace<>): Update __out after calling std::copy.
975         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
976         Add testcase.
977         * testsuite/28_regex/match_results/format.cc: Likewise.
979 2014-02-22  Marc Glisse  <marc.glisse@inria.fr>
981         PR libstdc++/60308
982         * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
983         allocator_type&)): Remove redundant call to _M_initialize_map.
984         (deque::deque(const allocator_type&)): Initialize _Base with a
985         constructor that calls _M_initialize_map.
987         Partial revert:
989         2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
990         PR libstdc++/58338
991         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
992         _M_initialize_map.
994 2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
996         Rename testsuite directory shared_mutex to shared_timed_mutex
997         for consistency.
998         * testsuite/30_threads/shared_mutex: Moved to...
999         * testsuite/30_threads/shared_timed_mutex: ...here
1001 2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
1003         Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1004         * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1005         * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1006         * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1007         * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1008         * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1009         * testsuite/30_threads/shared_lock/requirements/
1010         explicit_instantiation.cc: Ditto.
1011         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1012         * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1013         * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1014         * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1015         * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1016         * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1017         * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1018         * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1019         * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1020         * testsuite/30_threads/shared_mutex/requirements/
1021         standard_layout.cc: Ditto.
1022         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1023         * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1024         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1025         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1026         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1028 2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1030         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1031         execution on i?86-*-solaris2.9, remove comment.
1032         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1034 2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
1036         * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1037         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1038         * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1040 2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
1042         * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1043         not use varargs when argument could be non-POD.
1044         (__alloctr_rebind_helper): Eliminate static const bool member by
1045         using true_type and false_type.
1046         (allocator_traits::__allocate_helper): Likewise.
1047         (allocator_traits::__construct_helper): Likewise.
1048         (allocator_traits::__destroy_helper): Likewise.
1049         (allocator_traits::__maxsize_helper): Likewise.
1050         (allocator_traits::__select_helper): Likewise.
1051         * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1052         * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1053         Remove redundant condition.
1054         * include/bits/stl_vector.h (vector::operator=(const vector&)):
1055         Likewise.
1056         (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1057         indirection through __alloc_traits.
1058         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1059         Eliminate static const bool members by using true_type and false_type.
1060         (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1061         * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1062         * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1063         New.
1064         * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1066         PR libstdc++/59829
1067         * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1068         (vector::_M_data_ptr): New overloaded functions to ensure empty
1069         vectors do not dereference the pointer.
1070         * testsuite/23_containers/vector/59829.cc: New.
1071         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1072         Adjust dg-error line number.
1073         * testsuite/23_containers/vector/requirements/dr438/
1074         constructor_1_neg.cc: Likewise.
1075         * testsuite/23_containers/vector/requirements/dr438/
1076         constructor_2_neg.cc: Likewise.
1077         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1078         Likewise.
1080         PR libstdc++/21609
1081         * include/ext/array_allocator.h: Add deprecated attribute.
1083         PR libstdc++/57226
1084         * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1085         installation and use of python printers.
1086         * doc/xml/manual/status_cxx2011.xml: Update.
1087         * doc/html/*: Regenerate.
1089 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
1090             Kyle Lippincott  <spectral@google.com>
1092         PR libstdc++/59656
1093         * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1094         constructor and grant friendship to weak_ptr.
1095         (weak_ptr::lock()): Use new constructor.
1096         * include/bits/shared_ptr_base.h
1097         (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1098         and define specializations.
1099         (__shared_count): Add new non-throwing constructor.
1100         (__shared_ptr): Add new non-throwing constructor and grant friendship
1101         to __weak_ptr.
1102         (__weak_ptr::lock()): Use new constructor.
1103         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1104         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1106 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
1108         PR libstdc++/59215
1109         * include/bits/shared_ptr_base.h
1110         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1111         load.
1113 2014-01-27  Jason Merrill  <jason@redhat.com>
1115         Core DR 475
1116         PR c++/41174
1117         PR c++/59224
1118         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1119         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1120         (__cxa_allocate_exception): Don't set it here.
1122 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
1124         * include/bits/stl_map.h: Remove anachronistic comment.
1125         * include/bits/stl_multimap.h: Add whitespace.
1126         * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1127         -std=gnu++11 instead of -std=c++11.
1128         * testsuite/23_containers/map/operators/2.cc: Likewise.
1129         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1130         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1131         * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1133         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1134         * configure: Regenerate.
1136 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1138         PR libstdc++/59531
1139         * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1140         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1142 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1143             Peter A. Bigot <pab@pabigot.com>
1145         PR libstdc++/59531
1146         * include/experimental/string_view
1147         (copy(_CharT*, size_type, size_type) const): Correct throw string.
1148         Correct copy start location.
1150 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1151             Peter A. Bigot <pab@pabigot.com>
1153         PR libstdc++/59530
1154         * include/experimental/string_view (operator[](size_type) const):
1155         Fix one-off index error in debug check.
1156         * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1157         test basic_string_view at size().
1158         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1160 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1161             Peter A. Bigot <pab@pabigot.com>
1163         PR libstdc++/59529
1164         * include/experimental/string_view
1165         (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1166         * testsuite/experimental/string_view/operations/substr/char/1.cc:
1167         Comment out catch of out_of_range; No terminating null
1168         in basic_string_view.  Check begin == end.
1169         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1170         Ditto.
1172 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
1174         PR libstdc++/59548
1175         * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1176         constructor to prevent it being implicitly defined as deleted, but
1177         do not copy anything.
1178         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1179         Define copy and move constructors similar to _Safe_sequence_base's.
1180         * testsuite/23_containers/unordered_map/59548.cc: New.
1182 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1183             Steve Ellcey  <sellcey@mips.com>
1185         * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1186         function.
1187         * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1188         * (configure, config.h.in): Regenerate.
1189         * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1191 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
1193         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1194         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1196         PR libstdc++/59872
1197         * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1198         * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1199         Likewise.
1200         * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1201         Likewise.
1202         * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1203         * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1204         functions to perform moving or copying of elements from rvalue tree.
1205         (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1206         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1207         * testsuite/23_containers/map/59872.cc: New.
1208         * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1210 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
1212         * include/bits/stl_deque.h (_Deque_impl): Move comment.
1214         PR libstdc++/58764
1215         * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1216         Split into separate default constructor and constructor taking
1217         allocator.
1218         * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1219         * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1220         Likewise.
1221         * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1222         * include/debug/list (list::list(const _Allocator&)): Likewise.
1223         * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1224         Likewise.
1225         * include/debug/multimap.h
1226         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1227         * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1228         Likewise.
1229         * include/debug/multiset.h
1230         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1231         * include/debug/vector (vector::vector(const allocator_type&)):
1232         Likewise.
1233         * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1234         * include/profile/list (list::list(const _Allocator&)): Likewise.
1235         * include/profile/map.h
1236         (map::map(const _Compare&, const _Allocator&)): Likewise.
1237         * include/profile/multimap.h
1238         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1239         * include/profile/set.h
1240         (set::set(const _Compare&, const _Allocator&)): Likewise.
1241         * include/profile/multiset.h
1242         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1243         * include/profile/vector (vector::vector(const _Allocator&)):
1244         Likewise.
1245         * testsuite/23_containers/deque/58764.cc: New.
1246         * testsuite/23_containers/list/58764.cc: New.
1247         * testsuite/23_containers/map/58764.cc: New.
1248         * testsuite/23_containers/multimap/58764.cc: New.
1249         * testsuite/23_containers/set/58764.cc: New.
1250         * testsuite/23_containers/multiset/58764.cc: New.
1251         * testsuite/23_containers/vector/58764.cc: New.
1252         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1253         Adjust dg-error line number.
1254         * testsuite/23_containers/deque/requirements/dr438/
1255         constructor_1_neg.cc: Likewise.
1256         * testsuite/23_containers/deque/requirements/dr438/
1257         constructor_2_neg.cc: Likewise.
1258         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1259         Likewise.
1260         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1261         Likewise.
1262         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1263         Likewise.
1264         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1265         Likewise.
1266         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1267         Likewise.
1268         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1269         Likewise.
1270         * testsuite/23_containers/vector/requirements/dr438/
1271         constructor_1_neg.cc: Likewise.
1272         * testsuite/23_containers/vector/requirements/dr438/
1273         constructor_2_neg.cc: Likewise.
1274         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1275         Likewise.
1277         PR libstdc++/58764 (again)
1278         * include/bits/stl_list.h (list): Make default constructor's exception
1279         specification conditional.
1280         * include/bits/stl_vector.h (vector): Likewise.
1281         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1282         to default constructor.
1283         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1284         Adjust dg-error line number.
1285         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1286         Likewise.
1287         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1288         Likewise.
1289         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1290         Likewise.
1291         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1292         Likewise.
1293         * testsuite/23_containers/vector/requirements/dr438/
1294         constructor_1_neg.cc: Likewise.
1295         * testsuite/23_containers/vector/requirements/dr438/
1296         constructor_2_neg.cc: Likewise.
1297         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1298         Likewise.
1300 2014-01-21  Tim Shen  <timshen91@gmail.com>
1302         * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1303         * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1304         * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1306 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
1308         PR libstdc++/56267
1309         * include/bits/hashtable.h (__cache_default): Do not depend on
1310         whether the hash function is DefaultConstructible or CopyAssignable.
1311         (_Hashtable): Adjust static assertions.
1312         * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1313         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1314         dg-error line number.
1315         * testsuite/23_containers/unordered_set/
1316         not_default_constructible_hash_neg.cc: Remove.
1318 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
1320         * scripts/create_testsuite_files: Add testsuite/experimental in
1321         the list of folders to search for tests.
1322         * include/experimental/string_view
1323         (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1324         incompatible with constexpr qualifier.
1325         (basic_string_view<>::front()): Likewise.
1326         (basic_string_view<>::back()): Likewise.
1327         * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1328         Merge dg-options directives into one.
1329         * testsuite/experimental/string_view/element_access/char/2.cc:
1330         Likewise. Remove invalid experimental namespace scope on
1331         string_view_type.
1333 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
1335         PR libstdc++/56267
1336         * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1337         friendship to _Local_iterator_base<..., false>.
1338         (_Local_iterator_base): Give protected access to all existing members.
1339         (_Local_iterator_base::_M_curr()): New public accessor.
1340         (_Local_iterator_base::_M_get_bucket()): New public accessor.
1341         (_Local_iterator_base<..., false>::_M_init()): New function to manage
1342         the lifetime of the _Hash_code_base explicitly.
1343         (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1344         (_Local_iterator_base<..., false>): Define copy constructor and copy
1345         assignment operator that use new functions to manage _Hash_code_base.
1346         (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1347         operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1348         Use public API for _Local_iterator_base.
1349         * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1350         * include/debug/unordered_map (__debug::unordered_map::erase(),
1351         __debug::unordered_multimap::erase()): Likewise.
1352         * include/debug/unordered_set (__debug::unordered_set::erase(),
1353         __debug::unordered_multiset::erase()): Likewise.
1354         * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1356 2014-01-19  Tim Shen  <timshen91@gmail.com>
1358         * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1359         Fix parse error of multiple consecutive quantifiers like "a**".
1360         * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1361         Likewise.
1362         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1364 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
1366         * include/profile/set.h (set): Implement C++11 allocator-aware
1367         container requirements.
1368         * include/profile/map.h (map): Likewise.
1369         * include/profile/multiset.h (multiset): Likewise.
1370         * include/profile/multimap.h (multimap): Likewise.
1371         * include/profile/set.h
1372         (set::operator=(const set&)): Define as default in C++11 mode.
1373         (set::operator=(set&&)): Likewise.
1374         * include/profile/map.h
1375         (map::operator=(const map&)): Likewise.
1376         (map::operator=(map&&)): Likewise.
1377         * include/profile/multiset.h
1378         (multiset::operator=(const multiset&)): Likewise.
1379         (multiset::operator=(multiset&&)): Likewise.
1380         * include/profile/multimap.h
1381         (multimap::operator=(const multimap&)): Likewise.
1382         (multimap::operator=(multimap&&)): Likewise.
1383         * include/profile/set.h (set::operator=(std::initializer_list<>)):
1384         Rely on the same operator from normal mode.
1385         * include/profile/map.h (map::operator=(std::initializer_list<>)):
1386         Likewise.
1387         * include/profile/multiset.h
1388         (multiset::operator=(std::initializer_list<>)): Likewise.
1389         * include/profile/multimap.h
1390         (multimap::operator=(std::initializer_list<>)): Likewise.
1391         * include/profile/set.h (set::swap(set&)): Add noexcept
1392         specification.
1393         * include/profile/map.h (map::swap(map&)): Likewise.
1394         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1395         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1397 2014-01-17  Tim Shen  <timshen91@gmail.com>
1399         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1400         use std::map.
1401         * include/bits/regex_automaton.h: Do not use std::set.
1402         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1403         _BracketMatcher<>::_M_add_collating_element(),
1404         _BracketMatcher<>::_M_add_equivalence_class(),
1405         _BracketMatcher<>::_M_make_range()): Likewise.
1406         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1407         Likewise.
1408         * include/bits/regex_executor.h: Do not use std::queue.
1409         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1410         _Executor<>::_M_dfs()): Likewise.
1411         * include/std/regex: Remove <map>, <set> and <queue>.
1413 2014-01-17  Tim Shen  <timshen91@gmail.com>
1415         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1416         basic_regex<>::assign()): Change __compile_nfa to accept
1417         const _CharT* only.
1418         * include/bits/regex_compiler.h: Change _Compiler's template
1419         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1420         * include/bits/regex_compiler.tcc: Likewise.
1422 2014-01-17  Tim Shen  <timshen91@gmail.com>
1424         * include/bits/regex_compiler.h: Change _ScannerT into char-type
1425         templated.
1426         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1427         _ScannerBase from _Scanner; Change _Scanner's template argument from
1428         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1429         instead.
1430         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1431         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1432         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1433         Likewise.
1434         * include/std/regex: Add <cstring> for using strchr.
1436 2014-01-17  Tim Shen  <timshen91@gmail.com>
1438         * bits/regex_automaton.tcc: Indentation fix.
1439         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1440         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1441         _BracketMatcher<>): Add bool option template parameters and
1442         specializations to make matching more efficient and space saving.
1443         * bits/regex_compiler.tcc: Likewise.
1445 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
1447         PR libstdc++/59712
1448         * include/bits/hashtable_policy.h: Fix some long lines.
1449         * include/bits/hashtable.h (__hash_code_base_access): Define and
1450         use it to check its _M_bucket_index noexcept qualification. Use
1451         also in place of...
1452         (__access_protected_ctor): ...this.
1453         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1454         Adapt line number.
1455         * testsuite/23_containers/unordered_set/
1456         not_default_constructible_hash_neg.cc: Likewise.
1458 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
1460         * include/debug/set.h (set): Implement C++11 allocator-aware
1461         container requirements.
1462         * include/debug/map.h (map): Likewise.
1463         * include/debug/multiset.h (multiset): Likewise.
1464         * include/debug/multimap.h (multimap): Likewise.
1465         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1466         fix implementation regarding management of safe iterators.
1467         * include/debug/map.h (map::operator=(map&&)): Likewise.
1468         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1469         * include/debug/multimap.h (multimap::operator=(multimap&&)):
1470         Likewise.
1471         * include/debug/set.h (set::operator=(std::initializer_list<>)):
1472         Rely on the same operator from normal mode.
1473         * include/debug/map.h (map::operator=(std::initializer_list<>)):
1474         Likewise.
1475         * include/debug/multiset.h
1476         (multiset::operator=(std::initializer_list<>)): Likewise.
1477         * include/debug/multimap.h
1478         (multimap::operator=(std::initializer_list<>)): Likewise.
1479         * include/debug/set.h (set::swap(set&)): Add noexcept
1480         specification, add allocator equality check.
1481         * include/debug/map.h (map::swap(map&)): Likewise.
1482         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1483         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1485 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
1487         PR libstdc++/59698
1488         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1489         and stylistic improvements.
1490         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1491         and update for C++11.
1492         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1494         PR libstdc++/59687
1495         * doc/xml/manual/backwards_compatibility.xml
1496         (backwards.third.nocreate_noreplace): Correct and expand.
1498         PR libstdc++/59699
1499         * doc/xml/manual/support.xml (std.support.types.null): Update links.
1501 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
1503         PR libstdc++/59738
1504         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1505         support for non-Movable types.
1507         PR libstdc++/59680
1508         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1510 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
1512         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1513         *this allocator instance when building temporary vector instance
1514         so that *this allocator does not get moved.
1515         * include/debug/safe_base.h
1516         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1517         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1518         move constructor from _Safe_sequence_base.
1519         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1520         safe iterators if the instance is moved.
1521         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1522         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1523         check on a vector iterator.
1524         * testsuite/23_containers/vector/allocator/move_assign.cc
1525         (test02): Likewise.
1526         (test03): New, test with a non-propagating allocator.
1527         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1529 2014-01-07  Tim Shen  <timshen91@gmail.com>
1531         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1532         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1533         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1534         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1535         _BracketMatcher<>::_M_add_char(),
1536         _BracketMatcher<>::_M_add_collating_element(),
1537         _BracketMatcher<>::_M_add_equivalence_class(),
1538         _BracketMatcher<>::_M_add_character_class(),
1539         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1540         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1541         Fix _AnyMatcher behavior of POSIX style and move _M_flags
1542         to template parameter; Add cache for _BracketMatcher. Adjust
1543         declarations from here...
1544         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1545         imbuing a regex will trigger a recompilation to rebuild the cache.
1546         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1547         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1548         different template bool parameters.
1549         * include/bits/regex_executor.h: Remove unnecessary declarations.
1550         * include/std/regex: Adjust including orders.
1551         * testsuite/28_regex/traits/char/user_defined.cc: New.
1552         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1554 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1556         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1557         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1558         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1559         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1560         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1562 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1564         Update copyright years
1566 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1568         * testsuite/18_support/new_handler.cc,
1569         testsuite/18_support/terminate_handler.cc,
1570         testsuite/18_support/unexpected_handler.cc: Use the standard form for
1571         the copyright notice.
1573 Copyright (C) 2014 Free Software Foundation, Inc.
1575 Copying and distribution of this file, with or without modification,
1576 are permitted in any medium without royalty provided the copyright
1577 notice and this notice are preserved.