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