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