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