PR libstdc++/61390
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob6368e042140e3b7a793c719d112ca4cdd614a4fb
1 2014-06-10  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/61390
4         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
5         (bin_search_tree_traits): Do not redeclare template-parameters.
6         * testsuite/util/testsuite_iterators.h (test_container): Likewise.
8 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
10         * doc/Makefile.am: Add missing file. Use generate.consistent.ids
11         parameter for DocBook HTML generation.
12         * doc/Makefile.in: Regenerate.
13         * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
14         * doc/xml/faq.xml: Update content and improve formatting.
15         * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
16         * doc/xml/manual/allocator.xml: Add stable ID attribute.
17         * doc/xml/manual/bitmap_allocator.xml: Likewise.
18         * doc/xml/manual/build_hacking.xml: Likewise.
19         * doc/xml/manual/codecvt.xml: Change URL.
20         * doc/xml/manual/ctype.xml: Add stable ID attribute.
21         * doc/xml/manual/debug_mode.xml: Likewise.
22         * doc/xml/manual/documentation_hacking.xml: Likewise.
23         * doc/xml/manual/evolution.xml: Likewise.
24         * doc/xml/manual/extensions.xml: Likewise.
25         * doc/xml/manual/locale.xml: Likewise.
26         * doc/xml/manual/messages.xml: Make section id consistent, improve
27         markup, change URL.
28         * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
29         * doc/xml/manual/profile_mode.xml: Likewise.
30         * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
31         * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
32         * doc/xml/manual/status_cxx2011.xml: Likewise.
33         * doc/xml/manual/status_cxx2014.xml: Likewise.
34         * doc/xml/manual/status_cxxtr1.xml: Likewise.
35         * doc/xml/manual/status_cxxtr24733.xml: Likewise.
36         * doc/xml/manual/using.xml: Likewise.
37         * doc/html/*: Regenerate.
39 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
41         * include/tr1/beta_function.tcc: Fix spelling of include guard in
42         comment.
44 2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
46         * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
48 2014-06-06  Ed Smith-Rowland  <3dw4rd@verizon.net>
50         DR 2344 - std::quoted doesn't respect padding
51         * include/std/iomanip: Allow for padding in quoted inserters.
52         * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
53         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
55 2014-06-06  François Dumont  <fdumont@gcc.gnu.org>
57         * testsuite/23_containers/map/operators/1.cc: Simplify test.
59 2014-06-06  Jonathan Wakely  <jwakely@redhat.com>
61         * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
62         code example.
63         * doc/xml/manual/backwards_compatibility.xml
64         (backwards.second.stringstreams): Likewise.
65         * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
66         change of default.
67         * doc/xml/manual/containers.xml (associative.bitset.type_string):
68         Replace <quote> in code example.
69         * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
70         * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
71         fix typos, improve markup.
72         * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
73         <emphasis> with <replaceable>.
74         * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
75         * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
76         and remove newlines in string literal.
78 2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
80         DR 1423
81         PR c++/52174
82         * testsuite/20_util/is_assignable/value.cc: Update.
84 2014-06-02  Jonathan Wakely  <jwakely@redhat.com>
86         * include/std/condition_variable (condition_variable_any::_Unlock): Do
87         not swallow __forced_unwind.
88         * include/std/future (__future_base::_Task_setter): Likewise.
89         (__future_base::_Async_state_impl): Turn __forced_unwind into broken
90         promise and rethrow.
91         * include/std/mutex (try_lock): Likewise.
92         * testsuite/30_threads/async/forced_unwind.cc: New.
93         * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
95         * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
96         members to avoid wasted space when not using a cache.
97         (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
98         * include/bits/regex_compiler.tcc
99         (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
100         search on set.
101         * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
102         New enumeration type to indicate match mode.
103         (__detail::_Executor::_State_info): New type holding members only
104         needed in BFS-mode. Replace unique_ptr<vector<bool>> with
105         unique_ptr<bool[]>.
106         (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
107         Replace template parameter with run-time function parameter.
108         (__detail::_Executor::_M_main): Likewise. Dispatch to ...
109         (__detail::_Executor::_M_main_dispatch): New overloaded functions to
110         implement DFS and BFS mode.
111         * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
112         Split implementation into ...
113         (__detail::_Executor::_M_main_dispatch): New overloaded functions.
114         (__detail::_Executor::_M_lookahead): Create nested executor on stack.
115         (__detail::_Executor::_M_rep_once_more): Pass match mode as function
116         argument instead of template argument.
117         (__detail::_Executor::_M_dfs): Likewise.
118         * include/bits/regex_scanner.tcc: Fix typos in comments.
119         * testsuite/performance/28_regex/range.cc: New.
121 2014-06-02  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
122             Jonathan Wakely  <jwakely@redhat.com>
124         * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
125         helper struct.
126         (aligned_union): New struct (C++11).
127         (aligned_union_t): New type alias (C++14).
128         * doc/xml/manual/status_cxx2011.xml: Update.
129         * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
130         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
131         line number.
133 2014-06-01  Jonathan Wakely  <jwakely@redhat.com>
135         PR libstdc++/61374
136         * include/experimental/string_view (operator basic_string): Correct
137         order of arguments.
138         (to_string): Replace with member function.
139         Add inline specifiers. Remove unused header. Remove _S_empty_rep and
140         allow _M_str to be null.
141         * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
142         default constructor semantics.
143         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
144         * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
145         copyright dates. Remove unused header.
146         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
147         Likewise.
148         * testsuite/experimental/string_view/operations/data/char/1.cc:
149         Fix copyright dates. Adjust to new default constructor semantics.
150         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
151         Likewise.
152         * testsuite/experimental/string_view/operations/to_string/1.cc: New.
154         * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
155         (__uses_allocator_arg): Remove unused type.
156         (__uses_alloc0): Turn into a trivial type.
157         (__uses_alloc): Add missing template parameter in primary template.
158         (__uses_alloc_impl): Rename to __uses_alloc_t.
160 2014-05-30  Jonathan Wakely  <jwakely@redhat.com>
162         * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
163         work with previous versions of Tcl.
165         * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
166         Benjamin's old email address.
168         * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
169         Paolo's address too.
171 2014-05-29  Jonathan Wakely  <jwakely@redhat.com>
173         * include/tr2/bool_set: Use UTF-8 for accented characters.
174         * scripts/run_doxygen: Handle Doxygen 1.8.x change.
175         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
176         QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
178 2014-05-27  Jonathan Wakely  <jwakely@redhat.com>
180         PR libstdc++/61329
181         * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
182         inline specifier.
183         (_State_base::_M_dot): Likewise.
185 2014-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
187         * include/profile/map.h: Fix typo in comment; minor formatting fix.
188         * include/profile/multimap.h: Likewise.
189         * include/profile/set.h: Likewise.
190         * include/profile/multiset.h: Likewise.
192 2014-05-24  François Dumont  <fdumont@gcc.gnu.org>
194         * include/profile/array: Clean useless white chars.
195         * include/profile/base.h: Likewise.
196         * include/profile/iterator_tracker.h: Likewise.
197         * include/profile/bitset: Code cleanup and remove not instrumented code.
198         * include/profile/deque: Likewise.
199         * include/profile/forward_list: Likewise.
200         * include/profile/list (std::__profile::_List_profile<>): New.
201         (std::__profile::list<>): Inherit from latter and adapt.
202         * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
203         advise to match any ordered to unordered container conversion.
204         * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
205         New.
206         * include/Makefile.am: Add latter.
207         * include/Makefile.in: Regenerate.
208         * include/profile/map.h (std::__profile::map<>): Inherit from latter,
209         remove not instrumented code.
210         * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
211         * include/profile/set.h (std::__profile::set<>): Likewise.
212         * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
213         * include/profile/unordered_base.h: Add some line feed.
214         * include/profile/unordered_map: Clean useless white chars and replace
215         spaces with tabs.
216         * include/profile/unordered_set: Likewise.
217         * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
218         (std::__profile::_Vector_profile_post<>): New.
219         (std::__profile::vector<>): Inherit from latter and adapt.
221 2014-05-23  Jonathan Wakely  <jwakely@redhat.com>
223         PR libstdc++/60793
224         * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
225         dragonfly target selector to all tests that run on freebsd.
227         * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
228         dragonfly.
229         * testsuite/30_threads/call_once/60497.cc: Add target selectors.
230         * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
232         * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
233         selector.
234         * testsuite/30_threads/call_once/60497.cc: Likewise.
235         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
236         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
237         * testsuite/30_threads/packaged_task/60564.cc: Likewise.
238         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
239         * testsuite/30_threads/promise/60966.cc: Likewise.
240         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
241         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
242         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
243         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
244         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
245         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
246         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
247         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
248         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
249         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
250         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
251         * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
252         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
253         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
254         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
255         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
256         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
258 2014-05-21  François Dumont  <fdumont@gcc.gnu.org>
260         PR libstdc++/61143
261         * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
262         usable state.
263         * testsuite/23_containers/unordered_set/61143.cc: New.
264         * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
266 2014-05-21  Jonathan Wakely  <jwakely@redhat.com>
268         PR libstdc++/61269
269         * include/std/type_traits: Move include outside namespace std.
270         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
271         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
272         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
273         Likewise.
275         * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
276         Fix warning.
278 2014-05-21  John Marino  <gnugcc@marino.st>
280         * acinclude.m4 (*-*-dragonfly*): New target.
281         * configure: Regenerate.
282         * configure.host (*-*-dragonfly*): New target.
283         * config/locale/dragonfly/c_locale.cc: New.
284         * config/locale/dragonfly/ctype_members.cc: New.
285         * config/os/bsd/dragonfly/ctype_base.h: New.
286         * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
287         * config/os/bsd/dragonfly/ctype_inline.h: New.
288         * config/os/bsd/dragonfly/os_defines.h: New.
290 2014-05-20  Cesar Philippidis  <cesar@codesourcery.com>
292         * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since 
293         libstdc++.exp imports those flags via getenv.
294         * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that 
295         CXXFLAGS contains a '-O' flag. 
297 2014-05-20  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
299         PR libstdc++/61223
300         Revert:
301         2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
303         PR libstdc++/60758
304         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
305         and add unwind directives.
307 2014-05-20  Sebastian Huber  <sebastian.huber@embedded-brains.de>
309         * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
311 2014-05-20  Tim Shen  <timshen91@gmail.com>
313         PR libstdc++/61227
314         * include/bits/regex_compiler.h
315         (_BracketMatcher<>::_M_add_character_class): Add negative character
316         class support.
317         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
318         Likewise.
319         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
320         Add more testcases.
322 2014-05-19  Jonathan Wakely  <jwakely@redhat.com>
324         * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
326 2014-05-17  Marc Glisse  <marc.glisse@inria.fr>
328         * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
329         * libsupc++/new_opnt.cc: Likewise.
331 2014-05-17  Jonathan Wakely  <jwakely@redhat.com>
333         PR libstdc++/60966
334         * include/std/future (__future_base::_State_baseV2::_M_set_result):
335         Pass lock into _M_do_set and hold it until the function returns.
336         Signal condition variable after call_once completes.
337         (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
338         signal here.
339         * testsuite/30_threads/promise/60966.cc: New.
341 2014-05-16  Iain Sandoe  <iain@codesourcery.com>
342             Sandra Loosemore  <sandra@codesourcery.com>
344         * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
345         until after checking that the test is eligible to be run.
347 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
349         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
350         test for 32-bit target.
351         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
352         Likewise.
353         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
354         Fix test.
356 2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
358         PR libstdc++/60758
359         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
360         and add unwind directives.
362 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
364         * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
365         overflow.
366         * include/std/chrono (chrono_literals::__select_type::_Select_type):
367         Remove.
368         (chrono_literals::_Checked_integral_constant): Define.
369         Simplify UDL operator templates and check for overflow.
370         * testsuite/20_util/duration/literals/range.cc: New.
372 2014-05-16  Ed Smith-Rowland  <3dw4rd@verizon.net>
373             Jonathan Wakely  <jwakely@redhat.com>
375         PR libstdc++/61166
376         * include/bits/parse_numbers.h: Use integral_constant to remove
377         duplication and simplify.
378         * testsuite/20_util/duration/literals/61166.cc: New.
380 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
382         PR libstdc++/60326
383         * include/std/type_traits (__make_unsigned, __make_signed): Define
384         specializations for wchar_t, char16_t and char32_t.
385         * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
386         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
387         test for make_unsigned<volatile wchar_t>.
388         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
389         Likewise.
390         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
391         line number.
392         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
393         Likewise.
394         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
395         Likewise.
397 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
399         * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
400         * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
401         * include/std/utility (tuple_size, tuple_element): Likewise.
402         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
403         Adjust dg-error line number.
405 2014-05-14  Jonathan Wakely  <jwakely@redhat.com>
407         * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
408         (__tuple_element_t): Define.
409         (tuple_element): Use __tuple_element_t.
410         (__cv_tuple_size): Define.
411         (tuple_size<cv _Tp>): Use __cv_tuple_size.
412         (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
413         (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
414         (__tuple_compare): Remove size check, re-order parameters.
415         (operator==, operator<): Use static_assert to check requirements.
416         * include/std/functional (__volget): use __tuple_element_t.
417         * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
418         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
420 2014-05-13  Jonathan Wakely  <jwakely@redhat.com>
422         PR libstdc++/60497
423         * include/std/tuple (get, __tuple_compare): Qualify more calls to
424         prevent ADL. Cast comparison results to bool.
425         * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
426         * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
428         PR libstdc++/60497
429         * include/debug/array (get): Qualify call to other get overload.
430         * include/profile/array (get): Likewise.
431         * include/std/array (get): Likewise.
432         * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
433         * include/std/mutex (unique_lock, call_once): Use __addressof.
434         (__unlock_impl): Remove unused template.
435         (__try_to_lock): Declare inline.
436         (__try_lock_impl::__do_try_lock): Qualify function calls.
437         (lock): Avoid narrowing conversion.
438         * testsuite/20_util/bind/60497.cc: New.
439         * testsuite/23_containers/array/element_access/60497.cc: New.
440         * testsuite/30_threads/call_once/60497.cc: New.
441         * testsuite/30_threads/unique_lock/cons/60497.cc: New.
443 2014-05-09  Jonathan Wakely  <jwakely@redhat.com>
445         * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
446         (GLIBCXX_3.4.21): Export base object constructor for regex_error.
447         * acinclude.m4 (libtool_VERSION): Bump.
448         * configure: Regenerate.
449         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
450         * testsuite/28_regex/regex_error/base.cc: New.
452 2014-05-08  Joshua Gay  <jgay@gnu.org>
454         PR libstdc++/61117
455         * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
456         source" with "free software".
457         * doc/html/faq.html: Likewise.
459 2014-05-08  Jonathan Wakely  <jwakely@redhat.com>
461         PR libstdc++/57394
462         * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
463         deleted for C++11.
464         (operator=(const ios_base&)): Likewise.
465         * include/std/streambuf: Remove trailing whitespace.
466         (basic_streambuf(const basic_streambuf&)): Fix initializer for
467         _M_out_end. Define as defaulted for C++11.
468         (operator=(const basic_streambuf&)): Define as defaulted for C++11.
469         (swap(basic_streambuf&)): Define for C++11.
470         * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
472         PR libstdc++/13860
473         * include/std/fstream (basic_filebuf): Enforce requirements on traits.
475         * include/std/iostream: Fix URL in comment.
476         * src/c++98/ios_init.cc: Fix path in comment.
478 2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
480         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
481         * configure: Regenerate.
483 2014-05-07  Jonathan Wakely  <jwakely@redhat.com>
485         PR libstdc++/61023
486         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
487         comparison function.
488         * testsuite/23_containers/set/cons/61023.cc: New.
490         PR libstdc++/61086
491         * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
492         Remove.
493         * include/bits/stl_vector.h (vector::insert, vector::erase): Use
494         arithmetic to obtain a mutable iterator from const_iterator.
495         * include/bits/vector.tcc (vector::insert): Likewise.
496         * include/debug/vector (vector::erase): Likewise.
497         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
498         Adjust dg-error line number.
499         * testsuite/23_containers/vector/requirements/dr438/
500         constructor_1_neg.cc: Likewise.
501         * testsuite/23_containers/vector/requirements/dr438/
502         constructor_2_neg.cc: Likewise.
503         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
504         Likewise.
506 2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>
508         * include/Makefile.in: Regenerate.
510 2014-05-06  François Dumont  <fdumont@gcc.gnu.org>
512         * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
513         parameter to pass the 2 instances to check allocator equality.
514         * include/debug/safe_container.h: New, define _Safe_container<>.
515         * include/Makefile.am: Add previous.
516         * include/debug/deque (std::__debug::deque<>): Inherit
517         _Safe_container<>. Use default implementation for all special
518         functions.
519         * include/debug/forward_list (std::__debug::forward_list<>):
520         Likewise.
521         * include/debug/list (std::__debug::list<>): Likewise.
522         * include/debug/map.h (std::__debug::map<>): Likewise.
523         * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
524         * include/debug/set.h (std::__debug::set<>): Likewise.
525         * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
526         * include/debug/string (std::__debug::basic_string<>): Likewise.
527         * include/debug/unordered_map
528         (std::__debug::unordered_map<>): Likewise.
529         (std::__debug::unordered_multimap<>): Likewise.
530         * include/debug/unordered_set
531         (std::__debug::unordered_set<>): Likewise.
532         (std::__debug::unordered_multiset<>): Likewise.
533         * include/debug/vector (std::__debug::vector<>): Likewise.
534         * include/debug/safe_base.h (_Safe_sequence_base()): Add
535         noexcept.
536         (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
537         (~_Safe_sequence_base()): Add noexcept.
538         * include/debug/safe_sequence.h
539         (std::__debug::_Safe_node_sequence<>): New.
540         * include/debug/safe_unordered_base.h
541         (_Safe_unordered_container_base()): Add noexcept.
542         (~_Safe_unordered_container_base()): Likewise.
543         (_M_swap(_Safe_unordered_container_base&)): Likewise.
544         * include/debug/safe_unordered_container.h:
545         (_Safe_unordered_container<>::_M_invalidate_locals()): New.
546         (_Safe_unordered_container<>::_M_invalidate_all()): New.
547         * src/c++11/debug.cc: Limit includes, adapt methods noexcept
548         qualifications.
549         * testsuite/util/debug/checks.h (check_construct1): Just implement
550         an invalid constructor invocation  and no other operations
551         potentially not supported by some types of container.
552         (check_construct2): Likewise.
553         (check_construct3): Likewise.
554         * testsuite/23_containers/forward_list/allocator/move.cc: Add
555         check on iterators to make sure they are correctly moved in debug
556         mode.
557         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
558         Likewise.
559         * testsuite/23_containers/map/allocator/move.cc: Likewise.
560         * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
561         * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
562         * testsuite/23_containers/multimap/allocator/move_assign.cc:
563         Likewise.
564         * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
565         * testsuite/23_containers/multiset/allocator/move_assign.cc:
566         Likewise.
567         * testsuite/23_containers/set/allocator/move.cc: Likewise.
568         * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
569         * testsuite/23_containers/unordered_map/allocator/move.cc:
570         Likewise.
571         * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
572         Likewise.
573         * testsuite/23_containers/unordered_multimap/allocator/move.cc:
574         Likewise.
575         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
576         Likewise.
577         * testsuite/23_containers/unordered_multiset/allocator/move.cc:
578         Likewise.
579         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
580         Likewise.
581         * testsuite/23_containers/unordered_set/allocator/move.cc:
582         Likewise.
583         * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
584         Likewise.
585         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
586         New.
587         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
588         New.
589         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
590         New.
591         * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
592         New.
593         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
594         New.
595         * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
596         * testsuite/23_containers/map/debug/construct5_neg.cc: New.
597         * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
598         * testsuite/23_containers/map/debug/move_neg.cc: New.
599         * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
600         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
601         * testsuite/23_containers/multimap/debug/move_neg.cc: New.
602         * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
603         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
604         * testsuite/23_containers/multiset/debug/move_neg.cc: New.
605         * testsuite/23_containers/set/debug/construct5_neg.cc: New.
606         * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
607         * testsuite/23_containers/set/debug/move_neg.cc: New.
608         * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
609         New.
610         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
611         New.
612         * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
613         * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
614         New.
615         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
616         New.
617         * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
618         New.
619         * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
620         New.
621         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
622         New.
623         * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
624         New.
625         * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
626         New.
627         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
628         New.
629         * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
630         * testsuite/23_containers/vector/debug/move_neg.cc: New.
632 2014-05-05  Andreas Schwab  <schwab@linux-m68k.org>
634         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
635         (CXXABI_1.3.9): Remove __float128 symbols.
637 2014-05-02  Jonathan Wakely  <jwakely@redhat.com>
639         PR libstdc++/59476
640         * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
641         function to handle both C++03 and C++11 _Rb_tree_node implementations.
642         (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
643         * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
644         refer to...
645         * testsuite/libstdc++-prettyprinters/simple11.cc: New.
647         PR libstdc++/61036
648         * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
649         Check the correct type in the static assertion.
650         * testsuite/20_util/shared_ptr/cons/61036.cc: New.
652 2014-04-27  Tim Shen  <timshen91@gmail.com>
654         * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
655         Add _S_opcode_repeat support to distingush a loop from
656         _S_opcode_alternative.
657         * include/bits/regex_automaton.tcc (_State_base::_M_print,
658         _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
659         _StateSeq<>::_M_clone): Likewise.
660         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
661         Likewise.
662         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
663         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
664         Uglify local variable __i.
665         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
666         Use size_t instead of int to compare with vector::size().
668 2014-04-27  Tim Shen  <timshen91@gmail.com>
670         * include/bits/regex_executor.h: Add _M_rep_count to track how
671         many times this repeat node are visited.
672         * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
673         _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
674         infinite loop.
676 2014-04-27  Tim Shen  <timshen91@gmail.com>
678         * include/bits/regex.tcc (__regex_algo_impl<>): Remove
679         _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
680         _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
681         * include/bits/regex_automaton.h: Remove quantifier counting variable.
682         * include/bits/regex_automaton.tcc (_State_base::_M_dot):
683         Adjust debug NFA dump.
685 2014-04-25  Lars Gullik Bjønnes  <larsbj@gullik.org>
687         PR libstdc++/60710
688         * include/experimental/optional (operator!=): Implement in terms of
689         operator==.
690         * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
691         * testsuite/experimental/optional/relops/2.cc: Likewise.
692         * testsuite/experimental/optional/relops/3.cc: Likewise.
693         * testsuite/experimental/optional/relops/4.cc: Likewise.
694         * testsuite/experimental/optional/relops/5.cc: Likewise.
695         * testsuite/experimental/optional/relops/6.cc: Likewise.
697 2014-04-25  Jonathan Wakely  <jwakely@redhat.com>
699         PR libstdc++/60958
700         * include/tr1/regex (regex_traits::isctype): Comment out broken code.
701         * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
702         comment.
704 2014-04-25  Marc Glisse  <marc.glisse@inria.fr>
706         * testsuite/util/testsuite_abi.cc (check_version): Update for
707         CXXABI_1.3.9.
709 2014-04-24  Tim Shen  <timshen91@gmail.com>
711         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
712         Do _M_alt before _M_next.
713         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
715 2014-04-24  Marc Glisse  <marc.glisse@inria.fr>
717         PR libstdc++/43622
718         * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
719         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
720         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
722 2014-04-24  Andreas Schwab  <schwab@suse.de>
724         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
725         new CXXABI_1.3.9 symbols.
727 2014-04-23  Andreas Schwab  <schwab@linux-m68k.org>
729         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
730         (CXXABI_1.3.9): New version.
732 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
734         PR libstdc++/43622
735         * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
736         * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
737         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
739 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
741         * configure.host: Remove solaris2.9 handling.
742         Change os_include_dir to os/solaris/solaris2.10.
743         * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
744         * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
745         * configure: Regenerate.
746         * config/abi/post/solaris2.9: Remove.
747         * config/os/solaris/solaris2.9: Rename to ...
748         * config/os/solaris/solaris2.10: ... this.
749         * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
750         Remove.
752         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
753         Remove Solaris 9 reference.
754         * doc/html/manual/configure.html: Regenerate.
756         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
757         Remove *-*-solaris2.9 xfail.
758         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
759         Likewise.
761         * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
762         xfail.
764 2014-04-16  Jonathan Wakely  <jwakely@redhat.com>
766         * include/std/functional (__is_location_invariant): Use __or_ helper.
768 2014-04-15  Jonathan Wakely  <jwakely@redhat.com>
770         PR libstdc++/60734
771         * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
773         PR libstdc++/60695
774         * include/std/atomic (atomic<_Tp>): Add static assertion.
775         * testsuite/29_atomics/atomic/60695.cc: New.
777         PR libstdc++/60594
778         * include/std/functional (function::_Callable): Exclude own type
779         from the callable checks.
780         * testsuite/20_util/function/60594.cc: New.
782         * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
783         const to constexpr member functions.
785         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
786         delegating constructor.
787         * include/bits/shared_ptr_base.h
788         (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
790         * include/std/atomic: Uglify parameter names.
792         PR c++/60786
793         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
794         1.cc: Fix invalid explicit instantiations with unqualified names.
795         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
796         2.cc: Likweise.
797         * testsuite/20_util/tuple/53648.cc: Likweise.
798         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
799         Likewise.
800         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
801         Likewise.
802         * testsuite/23_containers/unordered_map/requirements/
803         debug_container.cc: Likewise.
804         * testsuite/23_containers/unordered_map/requirements/
805         explicit_instantiation/3.cc: Likewise.
806         * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
807         Likewise.
808         * testsuite/23_containers/unordered_multimap/requirements/
809         explicit_instantiation/3.cc: Likewise.
810         * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
811         Likewise.
812         * testsuite/23_containers/unordered_multiset/requirements/
813         explicit_instantiation/3.cc: Likewise.
814         * testsuite/23_containers/unordered_set/requirements/
815         debug_container.cc: Likewise.
816         * testsuite/23_containers/unordered_set/requirements/
817         explicit_instantiation/3.cc: Likewise.
819         * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
820         not use uninitialized members in mem-initializers.
821         * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
822         * testsuite/util/testsuite_common_types.h: Update comment.
824         * include/experimental/string_view: Fix inconsistent exception specs.
826         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
827         Remove name of unused parameter.
829 2014-04-14  Jonathan Wakely  <jwakely@redhat.com>
831         * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
832         _Vector_base::_M_allocate): NullablePointer requirements do not
833         include initialization from literal zero, use value-initialization.
834         * include/bits/vector.tcc (vector::_M_insert_aux,
835         vector::_M_explace_back_aux): Likewise for assignment.
837         * include/bits/allocator.h (operator==, operator!=): Add exception
838         specifications.
840         PR libstdc++/60497
841         * include/std/tuple (get): Qualify calls to prevent ADL.
842         * testsuite/20_util/tuple/60497.cc: New.
844         * include/std/tuple (tuple_element_t): Define.
845         * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
846         test.
847         * testsuite/20_util/tuple/tuple_element_t.cc: New.
849 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
851         PR libstdc++/59434
852         * include/bits/stl_iterator.h (move_iterator::reference,
853         move_iterator::operator*): Implement LWG 2106.
854         * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
856 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
858         * include/std/complex (__complex_exp, pow): Specify the template
859         parameter in calls to std::polar, for expression templates.
861 2014-04-10  Andreas Schwab  <schwab@suse.de>
863         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
864         symbols.
865         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
866         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
868         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
870 2014-04-07  Jonathan Wakely  <jwakely@redhat.com>
872         * testsuite/20_util/exchange/1.cc: Add missing return statements.
873         * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
874         * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
875         specifications.
877 2014-04-02  Dominique d'Humieres  <dominiq@lps.ens.fr>
878             Jack Howarth <howarth@bromo.med.uc.edu>
880         PR target/54407
881         * testsuite/30_threads/condition_variable/54185.cc: Skip for
882         darwin < 11.
884 2014-04-01  Jonathan Wakely  <jwakely@redhat.com>
886         * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
887         Update link.
888         * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
889         Fix broken links.
890         * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
891         * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
892         * doc/xml/manual/concurrency_extensions.xml
893         (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
894         * doc/html/*: Regenerate.
896 2014-03-31  Lars Gullik Bjønnes  <larsbj@gullik.org>
897             Jonathan Wakely  <jwakely@redhat.com>
899         PR libstdc++/60270
900         * include/std/iomanip (_Quoted_string operator>>): Do not clear
901         string if input is not quoted.
902         * testsuite/27_io/manipulators/standard/char/60270.cc: New.
904 2014-03-31  Jonathan Wakely  <jwakely@redhat.com>
906         * libsupc++/eh_ptr.cc: Improve static_assert messages.
908 2014-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
910         * testsuite/18_support/exception_ptr/60612-terminate.cc
911         (terminate, f): Wrap in _GLIBCXX_USE_C99.
912         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
914 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
916         * doc/xml/manual/io.xml (std.io.objects): Additional markup.
918         * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
919         * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
920         Likewise.
921         * doc/xml/manual/backwards_compatibility.xml (backwards.third):
922         Likewise.
923         * doc/xml/manual/test.xml (test.organization.layout): Likewise.
925         * doc/xml/manual/containers.xml (associative.bitset.size_variable):
926         Fix bad s/part/chapter/ substitutions.
927         * doc/xml/manual/io.xml (std.io): Likewise.
928         * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
929         * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
931         * doc/html/*: Regenerate.
933 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
935         PR libstdc++/60612
936         * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
937         compatible with __cxa_exception.
938         * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
939         Fix typos in comments.
940         * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
941         * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
943 2014-03-25  Jonathan Wakely  <jwakely@redhat.com>
945         PR libstdc++/60658
946         * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
947         Use sizeof pointer type not the element type.
948         * testsuite/29_atomics/atomic/60658.cc: New.
950 2014-03-24  Jakub Jelinek  <jakub@redhat.com>
952         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
953         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
954         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
955         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
956         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
957         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
958         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
959         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
960         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
961         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
962         entries.
964 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
966         * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
968 2014-03-23  François Dumont  <fdumont@gcc.gnu.org>
970         * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
971         to delegated constructor.
972         (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
973         (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
974         Likewise.
975         (_Hashtable(
976         initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
978 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
980         PR libstdc++/60623
981         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
983 2014-03-21  Jonathan Wakely  <jwakely@redhat.com>
985         PR libstdc++/60587
986         * include/debug/functions.h (_Is_contiguous_sequence): Define.
987         (__foreign_iterator): Accept additional iterator. Do not dispatch on
988         iterator category.
989         (__foreign_iterator_aux2): Likewise. Add overload for iterators
990         from different types of debug container. Use _Is_contiguous_sequence
991         instead of is_lvalue_reference.
992         (__foreign_iterator_aux3): Accept additional iterator. Avoid
993         dereferencing past-the-end iterator.
994         (__foreign_iterator_aux4): Use const value_type* instead of
995         potentially user-defined const_pointer type.
996         * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
997         and pass end iterator to __gnu_debug::__foreign_iterator.
998         (__glibcxx_check_insert_range_after): Likewise.
999         (__glibcxx_check_max_load_factor): Fix comment.
1000         * include/debug/vector (_Is_contiguous_sequence): Define partial
1001         specializations.
1002         * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1003         -std=gnu++11 option and unused header.
1004         * testsuite/23_containers/vector/debug/60587.cc: New.
1005         * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1007 2014-03-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1009         * crossconfig.m4: Support spu-*-elf* targets.
1010         * configure: Regenerate.
1012 2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
1014         PR libstdc++/60564
1015         * include/std/future (__future_base::_Task_state<>): Change
1016         constructors to template functions using perfect forwarding.
1017         (__create_task_state): Use decayed type as stored task.
1018         (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1019         * testsuite/30_threads/packaged_task/60564.cc: New.
1021 2014-03-16  François Dumont  <fdumont@gcc.gnu.org>
1023         * scripts/create_testsuite_files: Add testsuite/experimental in
1024         the list of folders to search for tests.
1026 2014-03-15  Andreas Schwab  <schwab@linux-m68k.org>
1028         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1030 2014-03-15  Tim Shen  <timshen91@gmail.com>
1032         * include/bits/regex.h: Add/modify comments.
1033         * include/bits/regex_compiler.h: Likewise.
1034         * include/bits/regex_executor.h: Likewise.
1035         * include/bits/regex_executor.tcc: Likewise.
1036         * include/bits/regex_scanner.h: Likewise.
1038 2014-03-14  Jonathan Wakely  <jwakely@redhat.com>
1040         PR ipa/58721
1041         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1042         _ZNSt12system_errorC* symbols which are not exported on any target.
1044 2014-03-12  Roland McGrath  <mcgrathr@google.com>
1045             Mark Seaborn  <mseaborn@google.com>
1047         PR libstdc++/59392
1048         * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1049         the address of a null pointer, not with a null pointer to pointer.
1050         Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1051         * testsuite/18_support/bad_exception/59392.cc: New file.
1053 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
1055         PR libstdc++/60499
1056         * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1057         Uglify name.
1058         * include/debug/map (map::operator=(map&&)): Likewise.
1059         * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1060         * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1061         * include/debug/set (set::operator=(set&&)): Likewise.
1062         * include/debug/unordered_map
1063         (unordered_map::operator=(unordered_map&&)): Likewise.
1064         (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1065         * include/debug/unordered_set
1066         (unordered_set::operator=(unordered_set&&)): Likewise.
1067         (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1068         * include/debug/vector (vector::operator=(vector&&)): Likewise.
1069         * testsuite/23_containers/forward_list/debug/60499.cc: New
1070         * testsuite/23_containers/map/debug/60499.cc: New
1071         * testsuite/23_containers/multimap/debug/60499.cc: New
1072         * testsuite/23_containers/multiset/debug/60499.cc: New
1073         * testsuite/23_containers/set/debug/60499.cc: New
1074         * testsuite/23_containers/unordered_map/debug/60499.cc: New
1075         * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1076         * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1077         * testsuite/23_containers/unordered_set/debug/60499.cc: New
1078         * testsuite/23_containers/vector/debug/60499.cc: New
1080 2014-03-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
1082         * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1083         for filesystem and fundamentals TS work items.
1085 2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
1087         PR c++/60376
1088         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1089         Adjust dg-error directives.
1091 2014-02-26  Tim Shen  <timshen91@gmail.com>
1093         * include/bits/regex.tcc (match_results<>::format,
1094         regex_replace<>): Update __out after calling std::copy.
1095         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1096         Add testcase.
1097         * testsuite/28_regex/match_results/format.cc: Likewise.
1099 2014-02-22  Marc Glisse  <marc.glisse@inria.fr>
1101         PR libstdc++/60308
1102         * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1103         allocator_type&)): Remove redundant call to _M_initialize_map.
1104         (deque::deque(const allocator_type&)): Initialize _Base with a
1105         constructor that calls _M_initialize_map.
1107         Partial revert:
1109         2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
1110         PR libstdc++/58338
1111         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1112         _M_initialize_map.
1114 2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
1116         Rename testsuite directory shared_mutex to shared_timed_mutex
1117         for consistency.
1118         * testsuite/30_threads/shared_mutex: Moved to...
1119         * testsuite/30_threads/shared_timed_mutex: ...here
1121 2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
1123         Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1124         * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1125         * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1126         * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1127         * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1128         * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1129         * testsuite/30_threads/shared_lock/requirements/
1130         explicit_instantiation.cc: Ditto.
1131         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1132         * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1133         * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1134         * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1135         * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1136         * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1137         * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1138         * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1139         * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1140         * testsuite/30_threads/shared_mutex/requirements/
1141         standard_layout.cc: Ditto.
1142         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1143         * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1144         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1145         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1146         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1148 2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1150         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1151         execution on i?86-*-solaris2.9, remove comment.
1152         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1154 2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
1156         * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1157         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1158         * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1160 2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
1162         * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1163         not use varargs when argument could be non-POD.
1164         (__alloctr_rebind_helper): Eliminate static const bool member by
1165         using true_type and false_type.
1166         (allocator_traits::__allocate_helper): Likewise.
1167         (allocator_traits::__construct_helper): Likewise.
1168         (allocator_traits::__destroy_helper): Likewise.
1169         (allocator_traits::__maxsize_helper): Likewise.
1170         (allocator_traits::__select_helper): Likewise.
1171         * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1172         * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1173         Remove redundant condition.
1174         * include/bits/stl_vector.h (vector::operator=(const vector&)):
1175         Likewise.
1176         (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1177         indirection through __alloc_traits.
1178         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1179         Eliminate static const bool members by using true_type and false_type.
1180         (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1181         * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1182         * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1183         New.
1184         * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1186         PR libstdc++/59829
1187         * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1188         (vector::_M_data_ptr): New overloaded functions to ensure empty
1189         vectors do not dereference the pointer.
1190         * testsuite/23_containers/vector/59829.cc: New.
1191         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1192         Adjust dg-error line number.
1193         * testsuite/23_containers/vector/requirements/dr438/
1194         constructor_1_neg.cc: Likewise.
1195         * testsuite/23_containers/vector/requirements/dr438/
1196         constructor_2_neg.cc: Likewise.
1197         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1198         Likewise.
1200         PR libstdc++/21609
1201         * include/ext/array_allocator.h: Add deprecated attribute.
1203         PR libstdc++/57226
1204         * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1205         installation and use of python printers.
1206         * doc/xml/manual/status_cxx2011.xml: Update.
1207         * doc/html/*: Regenerate.
1209 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
1210             Kyle Lippincott  <spectral@google.com>
1212         PR libstdc++/59656
1213         * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1214         constructor and grant friendship to weak_ptr.
1215         (weak_ptr::lock()): Use new constructor.
1216         * include/bits/shared_ptr_base.h
1217         (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1218         and define specializations.
1219         (__shared_count): Add new non-throwing constructor.
1220         (__shared_ptr): Add new non-throwing constructor and grant friendship
1221         to __weak_ptr.
1222         (__weak_ptr::lock()): Use new constructor.
1223         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1224         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1226 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
1228         PR libstdc++/59215
1229         * include/bits/shared_ptr_base.h
1230         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1231         load.
1233 2014-01-27  Jason Merrill  <jason@redhat.com>
1235         Core DR 475
1236         PR c++/41174
1237         PR c++/59224
1238         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1239         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1240         (__cxa_allocate_exception): Don't set it here.
1242 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
1244         * include/bits/stl_map.h: Remove anachronistic comment.
1245         * include/bits/stl_multimap.h: Add whitespace.
1246         * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1247         -std=gnu++11 instead of -std=c++11.
1248         * testsuite/23_containers/map/operators/2.cc: Likewise.
1249         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1250         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1251         * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1253         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1254         * configure: Regenerate.
1256 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1258         PR libstdc++/59531
1259         * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1260         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1262 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1263             Peter A. Bigot <pab@pabigot.com>
1265         PR libstdc++/59531
1266         * include/experimental/string_view
1267         (copy(_CharT*, size_type, size_type) const): Correct throw string.
1268         Correct copy start location.
1270 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1271             Peter A. Bigot <pab@pabigot.com>
1273         PR libstdc++/59530
1274         * include/experimental/string_view (operator[](size_type) const):
1275         Fix one-off index error in debug check.
1276         * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1277         test basic_string_view at size().
1278         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1280 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1281             Peter A. Bigot <pab@pabigot.com>
1283         PR libstdc++/59529
1284         * include/experimental/string_view
1285         (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1286         * testsuite/experimental/string_view/operations/substr/char/1.cc:
1287         Comment out catch of out_of_range; No terminating null
1288         in basic_string_view.  Check begin == end.
1289         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1290         Ditto.
1292 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
1294         PR libstdc++/59548
1295         * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1296         constructor to prevent it being implicitly defined as deleted, but
1297         do not copy anything.
1298         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1299         Define copy and move constructors similar to _Safe_sequence_base's.
1300         * testsuite/23_containers/unordered_map/59548.cc: New.
1302 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1303             Steve Ellcey  <sellcey@mips.com>
1305         * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1306         function.
1307         * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1308         * (configure, config.h.in): Regenerate.
1309         * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1311 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
1313         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1314         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1316         PR libstdc++/59872
1317         * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1318         * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1319         Likewise.
1320         * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1321         Likewise.
1322         * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1323         * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1324         functions to perform moving or copying of elements from rvalue tree.
1325         (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1326         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1327         * testsuite/23_containers/map/59872.cc: New.
1328         * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1330 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
1332         * include/bits/stl_deque.h (_Deque_impl): Move comment.
1334         PR libstdc++/58764
1335         * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1336         Split into separate default constructor and constructor taking
1337         allocator.
1338         * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1339         * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1340         Likewise.
1341         * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1342         * include/debug/list (list::list(const _Allocator&)): Likewise.
1343         * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1344         Likewise.
1345         * include/debug/multimap.h
1346         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1347         * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1348         Likewise.
1349         * include/debug/multiset.h
1350         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1351         * include/debug/vector (vector::vector(const allocator_type&)):
1352         Likewise.
1353         * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1354         * include/profile/list (list::list(const _Allocator&)): Likewise.
1355         * include/profile/map.h
1356         (map::map(const _Compare&, const _Allocator&)): Likewise.
1357         * include/profile/multimap.h
1358         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1359         * include/profile/set.h
1360         (set::set(const _Compare&, const _Allocator&)): Likewise.
1361         * include/profile/multiset.h
1362         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1363         * include/profile/vector (vector::vector(const _Allocator&)):
1364         Likewise.
1365         * testsuite/23_containers/deque/58764.cc: New.
1366         * testsuite/23_containers/list/58764.cc: New.
1367         * testsuite/23_containers/map/58764.cc: New.
1368         * testsuite/23_containers/multimap/58764.cc: New.
1369         * testsuite/23_containers/set/58764.cc: New.
1370         * testsuite/23_containers/multiset/58764.cc: New.
1371         * testsuite/23_containers/vector/58764.cc: New.
1372         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1373         Adjust dg-error line number.
1374         * testsuite/23_containers/deque/requirements/dr438/
1375         constructor_1_neg.cc: Likewise.
1376         * testsuite/23_containers/deque/requirements/dr438/
1377         constructor_2_neg.cc: Likewise.
1378         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1379         Likewise.
1380         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1381         Likewise.
1382         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1383         Likewise.
1384         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1385         Likewise.
1386         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1387         Likewise.
1388         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1389         Likewise.
1390         * testsuite/23_containers/vector/requirements/dr438/
1391         constructor_1_neg.cc: Likewise.
1392         * testsuite/23_containers/vector/requirements/dr438/
1393         constructor_2_neg.cc: Likewise.
1394         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1395         Likewise.
1397         PR libstdc++/58764 (again)
1398         * include/bits/stl_list.h (list): Make default constructor's exception
1399         specification conditional.
1400         * include/bits/stl_vector.h (vector): Likewise.
1401         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1402         to default constructor.
1403         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1404         Adjust dg-error line number.
1405         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1406         Likewise.
1407         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1408         Likewise.
1409         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1410         Likewise.
1411         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1412         Likewise.
1413         * testsuite/23_containers/vector/requirements/dr438/
1414         constructor_1_neg.cc: Likewise.
1415         * testsuite/23_containers/vector/requirements/dr438/
1416         constructor_2_neg.cc: Likewise.
1417         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1418         Likewise.
1420 2014-01-21  Tim Shen  <timshen91@gmail.com>
1422         * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1423         * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1424         * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1426 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
1428         PR libstdc++/56267
1429         * include/bits/hashtable.h (__cache_default): Do not depend on
1430         whether the hash function is DefaultConstructible or CopyAssignable.
1431         (_Hashtable): Adjust static assertions.
1432         * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1433         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1434         dg-error line number.
1435         * testsuite/23_containers/unordered_set/
1436         not_default_constructible_hash_neg.cc: Remove.
1438 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
1440         * scripts/create_testsuite_files: Add testsuite/experimental in
1441         the list of folders to search for tests.
1442         * include/experimental/string_view
1443         (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1444         incompatible with constexpr qualifier.
1445         (basic_string_view<>::front()): Likewise.
1446         (basic_string_view<>::back()): Likewise.
1447         * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1448         Merge dg-options directives into one.
1449         * testsuite/experimental/string_view/element_access/char/2.cc:
1450         Likewise. Remove invalid experimental namespace scope on
1451         string_view_type.
1453 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
1455         PR libstdc++/56267
1456         * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1457         friendship to _Local_iterator_base<..., false>.
1458         (_Local_iterator_base): Give protected access to all existing members.
1459         (_Local_iterator_base::_M_curr()): New public accessor.
1460         (_Local_iterator_base::_M_get_bucket()): New public accessor.
1461         (_Local_iterator_base<..., false>::_M_init()): New function to manage
1462         the lifetime of the _Hash_code_base explicitly.
1463         (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1464         (_Local_iterator_base<..., false>): Define copy constructor and copy
1465         assignment operator that use new functions to manage _Hash_code_base.
1466         (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1467         operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1468         Use public API for _Local_iterator_base.
1469         * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1470         * include/debug/unordered_map (__debug::unordered_map::erase(),
1471         __debug::unordered_multimap::erase()): Likewise.
1472         * include/debug/unordered_set (__debug::unordered_set::erase(),
1473         __debug::unordered_multiset::erase()): Likewise.
1474         * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1476 2014-01-19  Tim Shen  <timshen91@gmail.com>
1478         * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1479         Fix parse error of multiple consecutive quantifiers like "a**".
1480         * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1481         Likewise.
1482         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1484 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
1486         * include/profile/set.h (set): Implement C++11 allocator-aware
1487         container requirements.
1488         * include/profile/map.h (map): Likewise.
1489         * include/profile/multiset.h (multiset): Likewise.
1490         * include/profile/multimap.h (multimap): Likewise.
1491         * include/profile/set.h
1492         (set::operator=(const set&)): Define as default in C++11 mode.
1493         (set::operator=(set&&)): Likewise.
1494         * include/profile/map.h
1495         (map::operator=(const map&)): Likewise.
1496         (map::operator=(map&&)): Likewise.
1497         * include/profile/multiset.h
1498         (multiset::operator=(const multiset&)): Likewise.
1499         (multiset::operator=(multiset&&)): Likewise.
1500         * include/profile/multimap.h
1501         (multimap::operator=(const multimap&)): Likewise.
1502         (multimap::operator=(multimap&&)): Likewise.
1503         * include/profile/set.h (set::operator=(std::initializer_list<>)):
1504         Rely on the same operator from normal mode.
1505         * include/profile/map.h (map::operator=(std::initializer_list<>)):
1506         Likewise.
1507         * include/profile/multiset.h
1508         (multiset::operator=(std::initializer_list<>)): Likewise.
1509         * include/profile/multimap.h
1510         (multimap::operator=(std::initializer_list<>)): Likewise.
1511         * include/profile/set.h (set::swap(set&)): Add noexcept
1512         specification.
1513         * include/profile/map.h (map::swap(map&)): Likewise.
1514         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1515         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1517 2014-01-17  Tim Shen  <timshen91@gmail.com>
1519         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1520         use std::map.
1521         * include/bits/regex_automaton.h: Do not use std::set.
1522         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1523         _BracketMatcher<>::_M_add_collating_element(),
1524         _BracketMatcher<>::_M_add_equivalence_class(),
1525         _BracketMatcher<>::_M_make_range()): Likewise.
1526         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1527         Likewise.
1528         * include/bits/regex_executor.h: Do not use std::queue.
1529         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1530         _Executor<>::_M_dfs()): Likewise.
1531         * include/std/regex: Remove <map>, <set> and <queue>.
1533 2014-01-17  Tim Shen  <timshen91@gmail.com>
1535         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1536         basic_regex<>::assign()): Change __compile_nfa to accept
1537         const _CharT* only.
1538         * include/bits/regex_compiler.h: Change _Compiler's template
1539         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1540         * include/bits/regex_compiler.tcc: Likewise.
1542 2014-01-17  Tim Shen  <timshen91@gmail.com>
1544         * include/bits/regex_compiler.h: Change _ScannerT into char-type
1545         templated.
1546         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1547         _ScannerBase from _Scanner; Change _Scanner's template argument from
1548         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1549         instead.
1550         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1551         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1552         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1553         Likewise.
1554         * include/std/regex: Add <cstring> for using strchr.
1556 2014-01-17  Tim Shen  <timshen91@gmail.com>
1558         * bits/regex_automaton.tcc: Indentation fix.
1559         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1560         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1561         _BracketMatcher<>): Add bool option template parameters and
1562         specializations to make matching more efficient and space saving.
1563         * bits/regex_compiler.tcc: Likewise.
1565 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
1567         PR libstdc++/59712
1568         * include/bits/hashtable_policy.h: Fix some long lines.
1569         * include/bits/hashtable.h (__hash_code_base_access): Define and
1570         use it to check its _M_bucket_index noexcept qualification. Use
1571         also in place of...
1572         (__access_protected_ctor): ...this.
1573         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1574         Adapt line number.
1575         * testsuite/23_containers/unordered_set/
1576         not_default_constructible_hash_neg.cc: Likewise.
1578 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
1580         * include/debug/set.h (set): Implement C++11 allocator-aware
1581         container requirements.
1582         * include/debug/map.h (map): Likewise.
1583         * include/debug/multiset.h (multiset): Likewise.
1584         * include/debug/multimap.h (multimap): Likewise.
1585         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1586         fix implementation regarding management of safe iterators.
1587         * include/debug/map.h (map::operator=(map&&)): Likewise.
1588         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1589         * include/debug/multimap.h (multimap::operator=(multimap&&)):
1590         Likewise.
1591         * include/debug/set.h (set::operator=(std::initializer_list<>)):
1592         Rely on the same operator from normal mode.
1593         * include/debug/map.h (map::operator=(std::initializer_list<>)):
1594         Likewise.
1595         * include/debug/multiset.h
1596         (multiset::operator=(std::initializer_list<>)): Likewise.
1597         * include/debug/multimap.h
1598         (multimap::operator=(std::initializer_list<>)): Likewise.
1599         * include/debug/set.h (set::swap(set&)): Add noexcept
1600         specification, add allocator equality check.
1601         * include/debug/map.h (map::swap(map&)): Likewise.
1602         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1603         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1605 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
1607         PR libstdc++/59698
1608         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1609         and stylistic improvements.
1610         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1611         and update for C++11.
1612         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1614         PR libstdc++/59687
1615         * doc/xml/manual/backwards_compatibility.xml
1616         (backwards.third.nocreate_noreplace): Correct and expand.
1618         PR libstdc++/59699
1619         * doc/xml/manual/support.xml (std.support.types.null): Update links.
1621 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
1623         PR libstdc++/59738
1624         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1625         support for non-Movable types.
1627         PR libstdc++/59680
1628         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1630 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
1632         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1633         *this allocator instance when building temporary vector instance
1634         so that *this allocator does not get moved.
1635         * include/debug/safe_base.h
1636         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1637         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1638         move constructor from _Safe_sequence_base.
1639         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1640         safe iterators if the instance is moved.
1641         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1642         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1643         check on a vector iterator.
1644         * testsuite/23_containers/vector/allocator/move_assign.cc
1645         (test02): Likewise.
1646         (test03): New, test with a non-propagating allocator.
1647         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1649 2014-01-07  Tim Shen  <timshen91@gmail.com>
1651         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1652         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1653         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1654         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1655         _BracketMatcher<>::_M_add_char(),
1656         _BracketMatcher<>::_M_add_collating_element(),
1657         _BracketMatcher<>::_M_add_equivalence_class(),
1658         _BracketMatcher<>::_M_add_character_class(),
1659         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1660         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1661         Fix _AnyMatcher behavior of POSIX style and move _M_flags
1662         to template parameter; Add cache for _BracketMatcher. Adjust
1663         declarations from here...
1664         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1665         imbuing a regex will trigger a recompilation to rebuild the cache.
1666         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1667         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1668         different template bool parameters.
1669         * include/bits/regex_executor.h: Remove unnecessary declarations.
1670         * include/std/regex: Adjust including orders.
1671         * testsuite/28_regex/traits/char/user_defined.cc: New.
1672         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1674 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1676         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1677         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1678         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1679         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1680         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1682 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1684         Update copyright years
1686 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1688         * testsuite/18_support/new_handler.cc,
1689         testsuite/18_support/terminate_handler.cc,
1690         testsuite/18_support/unexpected_handler.cc: Use the standard form for
1691         the copyright notice.
1693 Copyright (C) 2014 Free Software Foundation, Inc.
1695 Copying and distribution of this file, with or without modification,
1696 are permitted in any medium without royalty provided the copyright
1697 notice and this notice are preserved.