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