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