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