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