[gcc/]
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob71541111c756e53f78c9f22d6177ee2aff94f669
1 2014-08-15  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/62154
4         * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
5         Rewrite to conform to C++11 requirements.
6         * testsuite/18_support/nested_exception/62154.cc: New.
8 2014-08-14  Matthias Klose  <doko@ubuntu.com>
10         * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
11         Remove empty directory.
13 2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
15         * testsuite/26_numerics/random/linear_congruential_engine/
16         requirements/non_uint_neg.cc: Adjust for parser change.
17         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
18         requirements/non_uint_neg.cc: Likewise.
20 2014-08-13  Jonathan Wakely  <jwakely@redhat.com>
22         PR libstdc++/61841
23         * include/std/thread (thread::_M_start_thread): Declare new overload.
24         (thread::thread<_Callable, _Args...>): Call new overload with an
25         explicit reference to pthread_create.
26         * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
27         * config/abi/pre/gnu.ver: Export new function.
29 2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>
31         * include/profile/impl/profiler_hash_func.h: Fix a comment typo
33 2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
35         * Fix thinko in the last commit.
37 2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
39         PR libstdc++/62118
40         * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
41         operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
43 2014-08-12  Jonathan Wakely  <jwakely@redhat.com>
45         * include/bits/basic_string.h (getline): Qualify call to prevent ADL
46         and add overloads for rvalue streams.
47         * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
48         New.
49         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
50         New.
52         * include/bits/basic_string.h (getline): Declare inline.
54 2014-08-09  Ulrich Drepper  <drepper@gmail.com>
56         * include/ext/random.tcc (uniform_on_sphere_helper): Define.
57         (uniform_on_sphere_distribution::operator()): Use the new helper
58         class for the implementation.
60         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
61         equal.cc: Remove bogus part of comment.
62         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
63         inequal.cc: Likewise.
64         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
65         serialize.cc: Add check to verify result of serialzation and
66         deserialization.
67         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
68         generate.cc: New file.
70 2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
72         * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
73         character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
75 2014-08-09  François Dumont  <fdumont@gcc.gnu.org>
77         PR libstdc++/61667
78         * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
79         _M_need_rehash to initialize the rehash policy and check if a rehash is
80         needed.
81         * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
83 2014-08-07  Jonathan Wakely  <jwakely@redhat.com>
85         * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
86         Optimize.
87         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
88         Adjust dg-error line number.
89         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
90         Likewise.
91         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
92         Likewise.
93         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
94         Likewise.
96         * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
97         _M_do_set.
98         (_State_baseV2::_M_do_set): Change parameters to pointers.
99         (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
100         (_State_baseV2::__setter): Initialize _Setter with pointers.
101         (_State_baseV2::__setter(promise<void>*)): Remove overload.
102         (promise::set_value, promise::set_exception): Pass setter directly
103         to _M_set_result.
104         (_State_baseV2::_Task_setter): Add template parameter for callable
105         type and replace std::function member with pointer to that type.
106         Change _M_result member from reference to pointer.
107         (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
108         and initialize _Task_setter with pointers.
109         (__location_invariant): Specialize for _Setter and _Task_setter.
111         * include/std/future (__location_invariant): Move specializations
112         after preprocessor condition.
114 2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
116         PR c++/15339
117         * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
119 2014-08-01  Zifei Tong  <zifeitong@gmail.com>
121         * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
122         _GLIBCXX_ prefix to macro.
124 2014-07-29  Jonathan Wakely  <jwakely@redhat.com>
126         * python/libstdcxx/v6/printers.py
127         (SingleObjContainerPrinter._contained): Use compatibility mixin.
129 2014-07-29  François Dumont  <fdumont@gcc.gnu.org>
131         * testsuite/util/testsuite_allocator.h
132         (tracker_allocator_counter::allocate): Remove new invocation, only
133         collect information.
134         (tracker_allocator_counter::deallocate): Remove delete invocation, only
135         collect information.
136         (check_inconsistent_alloc_value_type): New.
137         (tracker_allocator): Transform as a facade for any allocator type.
138         (uneq_allocator): Likewise.
139         (propagating_allocator): Likewise.
140         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
141         explicitly non propagating allocator.
142         * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
143         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
144         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
145         * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
146         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
147         Likewise.
148         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
149         Likewise.
150         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
151         Likewise.
152         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
153         Likewise.
154         * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
156 2014-07-29  Jonathan Wakely  <jwakely@redhat.com>
158         PR libstdc++/61946
159         * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
160         const allocator_type&)): Pass non-const allocator to
161         _S_new_RopeFunction.
162         * testsuite/ext/rope/61946.cc: New.
164         PR libstdc++/61947
165         * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
166         disambiguate unary constructors.
167         (_Tuple_impl): Pass allocator_arg_t arguments.
168         * testsuite/20_util/tuple/61947.cc: New.
169         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
171 2014-07-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
173         PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
174         * include/bits/random.h (_Adaptor): static_assert for non floating-point
175         result type.
176         * include/bits/random.tcc (generate_canonical): Ditto.
177         * include/ext/random.tcc (hypergeometric_distribution::operator()):
178         Use double as a rng result type.
179         * testsuite/26_numerics/random/pr60037-neg.cc: New.
180         * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
182 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
184         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
186 2014-07-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
188         * include/experimental/string_view: Make the literal operators
189         constexpr like the ctors they call.
191 2014-07-23  H.J. Lu  <hongjiu.lu@intel.com>
193         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
195 2014-07-23  Jonathan Wakely  <jwakely@redhat.com>
197         * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
198         to string instead of using gdb.Type.name attribute.
200 2014-07-19  Jonathan Wakely  <jwakely@redhat.com>
202         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
203         AC_MSG_CHECKING.
205 2014-07-18  Jonathan Wakely  <jwakely@redhat.com>
207         PR libstdc++/61835
208         * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
209         raw string.
210         (SingleObjContainerPrinter): Check if type printers are in use.
212 2014-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
214         * include/ext/random: Minor formatting and cosmetic tweaks.
215         (uniform_on_sphere_distribution<>::operator==
216         (const uniform_on_sphere_distribution&,
217         const uniform_on_sphere_distribution&)): Compare the _M_nds.
218         (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
219         (operator!=(const uniform_on_sphere_distribution&,
220         const uniform_on_sphere_distribution&)): Adjust.
221         * include/ext/random.tcc: Minor cosmetc tweaks.
223 2014-07-15  Jonathan Wakely  <jwakely@redhat.com>
225         * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
226         printer for class templates.
227         (register_type_printers): Use TemplateTypePrinter for containers
228         and other class templates with default template arguments.
229         * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
231         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
232         base class for experimental::any and experimental::optional printers.
233         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
234         New printers for Fundamentals TS types.
235         * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
237 2014-07-15  Tim Shen  <timshen@google.com>
239         PR libstdc++/61720
240         * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
241         Clear match queue for next use.
242         * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
244 2014-07-14  Ulrich Drepper  <drepper@gmail.com>
246         * include/ext/random.tcc: Unfortunately more fixes for
247         operator>> and operator<< for uniform_on_sphere_distribution.
249 2014-07-13  Ulrich Drepper  <drepper@gmail.com>
251         * include/ext/random.tcc: Fix operator>> and operator<< for
252         uniform_on_sphere_distribution.
254 2014-07-12  Ulrich Drepper  <drepper@gmail.com>
256         * include/ext/random: Add uniform_on_sphere_distribution definition.
257         * include/ext/random.tcc: Add out-of-band member function definitions
258         for uniform_on_sphere_distribution.
259         * testsuite/ext/random/uniform_on_sphere_distribution/
260         cons/default.cc: New file.
261         * testsuite/ext/random/uniform_on_sphere_distribution/
262         operators/equal.cc: New file.
263         * testsuite/ext/random/uniform_on_sphere_distribution/
264         operators/inequal.cc: New file.
265         * testsuite/ext/random/uniform_on_sphere_distribution/
266         operators/serialize.cc: New file.
268 2014-07-11  Edward Smith-Rowland  <3dw4rd@verizon.net>
270         Add the logistic_distribution as an extension.
271         * include/ext/random: Add the logistic_distribution.
272         * include/ext/random.tcc: Add the logistic_distribution.
273         * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
274         * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
275         * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
276         New.
277         * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
278         * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
279         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
280         New.
282 2014-07-11  Samuel Bronson  <naesten@gmail.com>
284         * testsuite/lib/libstdc++.exp  (libstdc++_init): Set $GCC_COLORS=""
285         instead of insisting that GCC understand -fdiagnostics-color=never
287         * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
288         list loaded libs.
290 2014-07-11  Samuel Bronson  <naesten@gmail.com>
291             Matthias Klose  <doko@ubuntu.com>
293         PR libstdc++/58962
294         * python/libstdcxx/v6/printers.py: Port to Python 2+3
295         (imap): New compat function.
296         (izip): Likewise.
297         (Iterator): New mixin to allow writing iterators in Python 3 style
298         regardless of which version we're running on.
299         [Python3] (long) New compat alias for "int".
300         * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
302 2014-07-10  Jonathan Wakely  <jwakely@redhat.com>
304         * include/experimental/any (any::_Manager_alloc::_Data): Reorder
305         tuple members to simplify pretty printing.
306         (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
307         construction.
308         * testsuite/experimental/any/cons/4.cc: New.
310 2014-07-09  Jason Merrill  <jason@redhat.com>
312         PR libstdc++/61728
313         * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
314         * libsupc++/tinfo.h: Not here.
316 2014-07-08  Jonathan Wakely  <jwakely@redhat.com>
318         * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
319         missing return.
320         * include/experimental/any: Remove unused header.
321         * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
322         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
323         * testsuite/util/testsuite_regex.h: Move include guard.
325 2014-07-01  Tim Shen  <timshen@google.com>
327         PR libstdc++/61601
328         PR libstdc++/61582
329         * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
330         a NFA state limit. If it's exceeded, regex_constants::error_space
331         will be throwed.
332         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
333         map (which is sparse) instead of vector. This reduce n times clones'
334         cost from O(n^2) to O(n).
335         * include/std/regex: Add map dependency.
336         * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
337         testcase.
339 2014-07-01  Tim Shen  <timshen@google.com>
341         PR libstdc++/61424
342         * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
343         not just regex containing back-references.
344         * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
345         exchange _M_next and _M_alt for alternative operator,
346         making matching from left to right.
347         * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
348         Add position tracking fom DFS.
349         * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
350         _Executor<>::_M_dfs): Likewise.
351         * include/bits/regex_scanner.h: Remove unused enum entry.
352         * testsuite/28_regex/algorithms/regex_search/61424.cc: New
353         testcase from PR.
355 2014-06-30  Jason Merrill  <jason@redhat.com>
357         * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
358         is pure, not inline.
360 2014-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
362         Revert:
363         2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
364                     Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
366         PR libstdc++/61536
367         * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
369         2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
371         * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
373 2014-06-26  Jonathan Wakely  <jwakely@redhat.com>
375         * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
376         parameter type.
378 2014-06-25  Jonathan Wakely  <jwakely@redhat.com>
380         * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
381         * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
382         * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
383         Likewise.
384         * include/ext/alloc_traits.h: Fix comment.
386         * include/Makefile.am: Add new header.
387         * include/Makefile.in: Regenerate.
388         * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
389         New RAII utilities for working with allocators.
390         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
391         __allocator_type typedef and use new __allocated_ptr type.
392         (_Sp_counted_ptr_inplace): Likewise.
393         (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
394         __allocate_guarded to to simplify exception handling.
395         * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
396         * include/std/future (_Result_alloc::_M_destroy): Likewise.
397         (_Result_alloc::_S_allocate_result): Likewise.
398         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
399         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
400         * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
401         * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
402         with fancy pointer.
403         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
405         * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
406         allocator.
407         * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
408         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
410 2014-06-24  Jonathan Wakely  <jwakely@redhat.com>
412         * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
413         attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
414         * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
415         Remove unused typedef.
416         (time_get::do_get_monthname): Likewise.
417         * include/bits/stl_tree.h: Add system_header pragma.
418         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
419         redundant const-qualifier.
420         * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
421         instead of _GLIBCXX_USE_CONSTEXPR.
423 2014-06-23  Jonathan Wakely  <jwakely@redhat.com>
425         * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
426         * include/std/chrono (_Checked_integral_constant): Allow zero.
427         * testsuite/20_util/duration/literals/values.cc: Test non-positive
428         values and digit separators.
429         * include/experimental/any
431         PR libstdc++/61532
432         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
433         apply the signed specifier to wchar_t.
434         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
435         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
436         cv-qualifier and size.
437         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
438         Likewise.
440         * include/experimental/any (any_v1): Rename namespace to
441         fundamentals_v1. Change string returned by bad_any_cast::what().
442         * include/experimental/optional (fundamentals_v1): Add namespace.
443         * include/experimental/string_view (fundamentals_v1): Likewise.
444         * testsuite/experimental/any/typedefs.cc: New.
445         * testsuite/experimental/optional/typedefs.cc: New.
446         * testsuite/experimental/string_view/typedefs.cc: New.
448 2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
449             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
451         PR libstdc++/61536
452         * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
454 2014-06-14  Jonathan Wakely  <jwakely@redhat.com>
456         * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
457         * include/Makefile.am: Add new header.
458         * include/Makefile.in: Regenerate.
459         * include/experimental/any: New.
460         * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
461         constructor.
462         * testsuite/experimental/any/assign/1.cc: New.
463         * testsuite/experimental/any/assign/2.cc: New.
464         * testsuite/experimental/any/cons/1.cc: New.
465         * testsuite/experimental/any/cons/2.cc: New.
466         * testsuite/experimental/any/cons/3.cc: New.
467         * testsuite/experimental/any/misc/any_cast.cc: New.
468         * testsuite/experimental/any/misc/any_cast_neg.cc: New.
469         * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
470         * testsuite/experimental/any/misc/swap.cc: New.
471         * testsuite/experimental/any/modifiers/1.cc: New.
472         * testsuite/experimental/any/observers/type.cc: New.
474         * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
475         * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
476         warnings.
477         * include/bits/shared_ptr.h (shared_ptr): Likewise.
478         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
479         Likewise.
480         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
481         Likewise.
482         * include/parallel/list_partition.h (__parallel::list_partition):
483         Likewise.
484         * include/std/iomanip (quoted): Likewise.
485         * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
487         * doc/xml/api.xml: Link to more recent API docs.
488         * include/bits/allocator.h: Fix link in doxygen comment.
489         * include/bits/char_traits.h: Likewise.
490         * include/bits/ios_base.h: Likewise.
491         * include/bits/stl_map.h: Likewise.
492         * include/bits/stl_multimap.h: Likewise.
493         * include/bits/stl_multiset.h: Likewise.
494         * include/bits/stl_set.h: Likewise.
495         * include/bits/unordered_map.h: Likewise.
496         * include/bits/unordered_set.h: Likewise.
497         * include/ext/mt_allocator.h: Likewise.
498         * include/std/fstream: Likewise.
499         * include/std/iosfwd: Likewise.
500         * include/std/ostream: Likewise.
501         * include/std/sstream: Likewise.
502         * include/std/streambuf: Likewise.
503         * doc/html/*: Regenerate.
505         * include/experimental/any (any_cast): Combine duplicate doxygen
506         comments.
507         * include/experimental/string_view (basic_string_view): Update
508         doxygen comment.
509         * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
510         * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
511         (dynamic_bitset): Improve Doxygen comments.
512         * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
513         comment.
515 2014-06-11  Maciej W. Rozycki  <macro@codesourcery.com>
517         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
518         (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
520 2014-06-10  Jonathan Wakely  <jwakely@redhat.com>
522         PR libstdc++/61390
523         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
524         (bin_search_tree_traits): Do not redeclare template-parameters.
525         * testsuite/util/testsuite_iterators.h (test_container): Likewise.
527 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
529         * doc/Makefile.am: Add missing file. Use generate.consistent.ids
530         parameter for DocBook HTML generation.
531         * doc/Makefile.in: Regenerate.
532         * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
533         * doc/xml/faq.xml: Update content and improve formatting.
534         * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
535         * doc/xml/manual/allocator.xml: Add stable ID attribute.
536         * doc/xml/manual/bitmap_allocator.xml: Likewise.
537         * doc/xml/manual/build_hacking.xml: Likewise.
538         * doc/xml/manual/codecvt.xml: Change URL.
539         * doc/xml/manual/ctype.xml: Add stable ID attribute.
540         * doc/xml/manual/debug_mode.xml: Likewise.
541         * doc/xml/manual/documentation_hacking.xml: Likewise.
542         * doc/xml/manual/evolution.xml: Likewise.
543         * doc/xml/manual/extensions.xml: Likewise.
544         * doc/xml/manual/locale.xml: Likewise.
545         * doc/xml/manual/messages.xml: Make section id consistent, improve
546         markup, change URL.
547         * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
548         * doc/xml/manual/profile_mode.xml: Likewise.
549         * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
550         * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
551         * doc/xml/manual/status_cxx2011.xml: Likewise.
552         * doc/xml/manual/status_cxx2014.xml: Likewise.
553         * doc/xml/manual/status_cxxtr1.xml: Likewise.
554         * doc/xml/manual/status_cxxtr24733.xml: Likewise.
555         * doc/xml/manual/using.xml: Likewise.
556         * doc/html/*: Regenerate.
558 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
560         * include/tr1/beta_function.tcc: Fix spelling of include guard in
561         comment.
563 2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
565         * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
567 2014-06-06  Ed Smith-Rowland  <3dw4rd@verizon.net>
569         DR 2344 - std::quoted doesn't respect padding
570         * include/std/iomanip: Allow for padding in quoted inserters.
571         * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
572         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
574 2014-06-06  François Dumont  <fdumont@gcc.gnu.org>
576         * testsuite/23_containers/map/operators/1.cc: Simplify test.
578 2014-06-06  Jonathan Wakely  <jwakely@redhat.com>
580         * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
581         code example.
582         * doc/xml/manual/backwards_compatibility.xml
583         (backwards.second.stringstreams): Likewise.
584         * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
585         change of default.
586         * doc/xml/manual/containers.xml (associative.bitset.type_string):
587         Replace <quote> in code example.
588         * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
589         * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
590         fix typos, improve markup.
591         * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
592         <emphasis> with <replaceable>.
593         * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
594         * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
595         and remove newlines in string literal.
597 2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
599         DR 1423
600         PR c++/52174
601         * testsuite/20_util/is_assignable/value.cc: Update.
603 2014-06-02  Jonathan Wakely  <jwakely@redhat.com>
605         * include/std/condition_variable (condition_variable_any::_Unlock): Do
606         not swallow __forced_unwind.
607         * include/std/future (__future_base::_Task_setter): Likewise.
608         (__future_base::_Async_state_impl): Turn __forced_unwind into broken
609         promise and rethrow.
610         * include/std/mutex (try_lock): Likewise.
611         * testsuite/30_threads/async/forced_unwind.cc: New.
612         * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
614         * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
615         members to avoid wasted space when not using a cache.
616         (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
617         * include/bits/regex_compiler.tcc
618         (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
619         search on set.
620         * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
621         New enumeration type to indicate match mode.
622         (__detail::_Executor::_State_info): New type holding members only
623         needed in BFS-mode. Replace unique_ptr<vector<bool>> with
624         unique_ptr<bool[]>.
625         (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
626         Replace template parameter with run-time function parameter.
627         (__detail::_Executor::_M_main): Likewise. Dispatch to ...
628         (__detail::_Executor::_M_main_dispatch): New overloaded functions to
629         implement DFS and BFS mode.
630         * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
631         Split implementation into ...
632         (__detail::_Executor::_M_main_dispatch): New overloaded functions.
633         (__detail::_Executor::_M_lookahead): Create nested executor on stack.
634         (__detail::_Executor::_M_rep_once_more): Pass match mode as function
635         argument instead of template argument.
636         (__detail::_Executor::_M_dfs): Likewise.
637         * include/bits/regex_scanner.tcc: Fix typos in comments.
638         * testsuite/performance/28_regex/range.cc: New.
640 2014-06-02  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
641             Jonathan Wakely  <jwakely@redhat.com>
643         * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
644         helper struct.
645         (aligned_union): New struct (C++11).
646         (aligned_union_t): New type alias (C++14).
647         * doc/xml/manual/status_cxx2011.xml: Update.
648         * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
649         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
650         line number.
652 2014-06-01  Jonathan Wakely  <jwakely@redhat.com>
654         PR libstdc++/61374
655         * include/experimental/string_view (operator basic_string): Correct
656         order of arguments.
657         (to_string): Replace with member function.
658         Add inline specifiers. Remove unused header. Remove _S_empty_rep and
659         allow _M_str to be null.
660         * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
661         default constructor semantics.
662         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
663         * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
664         copyright dates. Remove unused header.
665         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
666         Likewise.
667         * testsuite/experimental/string_view/operations/data/char/1.cc:
668         Fix copyright dates. Adjust to new default constructor semantics.
669         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
670         Likewise.
671         * testsuite/experimental/string_view/operations/to_string/1.cc: New.
673         * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
674         (__uses_allocator_arg): Remove unused type.
675         (__uses_alloc0): Turn into a trivial type.
676         (__uses_alloc): Add missing template parameter in primary template.
677         (__uses_alloc_impl): Rename to __uses_alloc_t.
679 2014-05-30  Jonathan Wakely  <jwakely@redhat.com>
681         * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
682         work with previous versions of Tcl.
684         * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
685         Benjamin's old email address.
687         * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
688         Paolo's address too.
690 2014-05-29  Jonathan Wakely  <jwakely@redhat.com>
692         * include/tr2/bool_set: Use UTF-8 for accented characters.
693         * scripts/run_doxygen: Handle Doxygen 1.8.x change.
694         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
695         QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
697 2014-05-27  Jonathan Wakely  <jwakely@redhat.com>
699         PR libstdc++/61329
700         * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
701         inline specifier.
702         (_State_base::_M_dot): Likewise.
704 2014-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
706         * include/profile/map.h: Fix typo in comment; minor formatting fix.
707         * include/profile/multimap.h: Likewise.
708         * include/profile/set.h: Likewise.
709         * include/profile/multiset.h: Likewise.
711 2014-05-24  François Dumont  <fdumont@gcc.gnu.org>
713         * include/profile/array: Clean useless white chars.
714         * include/profile/base.h: Likewise.
715         * include/profile/iterator_tracker.h: Likewise.
716         * include/profile/bitset: Code cleanup and remove not instrumented code.
717         * include/profile/deque: Likewise.
718         * include/profile/forward_list: Likewise.
719         * include/profile/list (std::__profile::_List_profile<>): New.
720         (std::__profile::list<>): Inherit from latter and adapt.
721         * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
722         advise to match any ordered to unordered container conversion.
723         * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
724         New.
725         * include/Makefile.am: Add latter.
726         * include/Makefile.in: Regenerate.
727         * include/profile/map.h (std::__profile::map<>): Inherit from latter,
728         remove not instrumented code.
729         * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
730         * include/profile/set.h (std::__profile::set<>): Likewise.
731         * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
732         * include/profile/unordered_base.h: Add some line feed.
733         * include/profile/unordered_map: Clean useless white chars and replace
734         spaces with tabs.
735         * include/profile/unordered_set: Likewise.
736         * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
737         (std::__profile::_Vector_profile_post<>): New.
738         (std::__profile::vector<>): Inherit from latter and adapt.
740 2014-05-23  Jonathan Wakely  <jwakely@redhat.com>
742         PR libstdc++/60793
743         * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
744         dragonfly target selector to all tests that run on freebsd.
746         * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
747         dragonfly.
748         * testsuite/30_threads/call_once/60497.cc: Add target selectors.
749         * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
751         * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
752         selector.
753         * testsuite/30_threads/call_once/60497.cc: Likewise.
754         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
755         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
756         * testsuite/30_threads/packaged_task/60564.cc: Likewise.
757         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
758         * testsuite/30_threads/promise/60966.cc: Likewise.
759         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
760         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
761         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
762         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
763         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
764         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
765         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
766         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
767         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
768         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
769         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
770         * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
771         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
772         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
773         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
774         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
775         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
777 2014-05-21  François Dumont  <fdumont@gcc.gnu.org>
779         PR libstdc++/61143
780         * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
781         usable state.
782         * testsuite/23_containers/unordered_set/61143.cc: New.
783         * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
785 2014-05-21  Jonathan Wakely  <jwakely@redhat.com>
787         PR libstdc++/61269
788         * include/std/type_traits: Move include outside namespace std.
789         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
790         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
791         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
792         Likewise.
794         * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
795         Fix warning.
797 2014-05-21  John Marino  <gnugcc@marino.st>
799         * acinclude.m4 (*-*-dragonfly*): New target.
800         * configure: Regenerate.
801         * configure.host (*-*-dragonfly*): New target.
802         * config/locale/dragonfly/c_locale.cc: New.
803         * config/locale/dragonfly/ctype_members.cc: New.
804         * config/os/bsd/dragonfly/ctype_base.h: New.
805         * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
806         * config/os/bsd/dragonfly/ctype_inline.h: New.
807         * config/os/bsd/dragonfly/os_defines.h: New.
809 2014-05-20  Cesar Philippidis  <cesar@codesourcery.com>
811         * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
812         libstdc++.exp imports those flags via getenv.
813         * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
814         CXXFLAGS contains a '-O' flag.
816 2014-05-20  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
818         PR libstdc++/61223
819         Revert:
820         2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
822         PR libstdc++/60758
823         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
824         and add unwind directives.
826 2014-05-20  Sebastian Huber  <sebastian.huber@embedded-brains.de>
828         * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
830 2014-05-20  Tim Shen  <timshen91@gmail.com>
832         PR libstdc++/61227
833         * include/bits/regex_compiler.h
834         (_BracketMatcher<>::_M_add_character_class): Add negative character
835         class support.
836         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
837         Likewise.
838         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
839         Add more testcases.
841 2014-05-19  Jonathan Wakely  <jwakely@redhat.com>
843         * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
845 2014-05-17  Marc Glisse  <marc.glisse@inria.fr>
847         * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
848         * libsupc++/new_opnt.cc: Likewise.
850 2014-05-17  Jonathan Wakely  <jwakely@redhat.com>
852         PR libstdc++/60966
853         * include/std/future (__future_base::_State_baseV2::_M_set_result):
854         Pass lock into _M_do_set and hold it until the function returns.
855         Signal condition variable after call_once completes.
856         (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
857         signal here.
858         * testsuite/30_threads/promise/60966.cc: New.
860 2014-05-16  Iain Sandoe  <iain@codesourcery.com>
861             Sandra Loosemore  <sandra@codesourcery.com>
863         * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
864         until after checking that the test is eligible to be run.
866 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
868         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
869         test for 32-bit target.
870         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
871         Likewise.
872         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
873         Fix test.
875 2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
877         PR libstdc++/60758
878         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
879         and add unwind directives.
881 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
883         * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
884         overflow.
885         * include/std/chrono (chrono_literals::__select_type::_Select_type):
886         Remove.
887         (chrono_literals::_Checked_integral_constant): Define.
888         Simplify UDL operator templates and check for overflow.
889         * testsuite/20_util/duration/literals/range.cc: New.
891 2014-05-16  Ed Smith-Rowland  <3dw4rd@verizon.net>
892             Jonathan Wakely  <jwakely@redhat.com>
894         PR libstdc++/61166
895         * include/bits/parse_numbers.h: Use integral_constant to remove
896         duplication and simplify.
897         * testsuite/20_util/duration/literals/61166.cc: New.
899 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
901         PR libstdc++/60326
902         * include/std/type_traits (__make_unsigned, __make_signed): Define
903         specializations for wchar_t, char16_t and char32_t.
904         * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
905         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
906         test for make_unsigned<volatile wchar_t>.
907         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
908         Likewise.
909         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
910         line number.
911         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
912         Likewise.
913         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
914         Likewise.
916 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
918         * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
919         * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
920         * include/std/utility (tuple_size, tuple_element): Likewise.
921         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
922         Adjust dg-error line number.
924 2014-05-14  Jonathan Wakely  <jwakely@redhat.com>
926         * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
927         (__tuple_element_t): Define.
928         (tuple_element): Use __tuple_element_t.
929         (__cv_tuple_size): Define.
930         (tuple_size<cv _Tp>): Use __cv_tuple_size.
931         (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
932         (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
933         (__tuple_compare): Remove size check, re-order parameters.
934         (operator==, operator<): Use static_assert to check requirements.
935         * include/std/functional (__volget): use __tuple_element_t.
936         * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
937         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
939 2014-05-13  Jonathan Wakely  <jwakely@redhat.com>
941         PR libstdc++/60497
942         * include/std/tuple (get, __tuple_compare): Qualify more calls to
943         prevent ADL. Cast comparison results to bool.
944         * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
945         * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
947         PR libstdc++/60497
948         * include/debug/array (get): Qualify call to other get overload.
949         * include/profile/array (get): Likewise.
950         * include/std/array (get): Likewise.
951         * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
952         * include/std/mutex (unique_lock, call_once): Use __addressof.
953         (__unlock_impl): Remove unused template.
954         (__try_to_lock): Declare inline.
955         (__try_lock_impl::__do_try_lock): Qualify function calls.
956         (lock): Avoid narrowing conversion.
957         * testsuite/20_util/bind/60497.cc: New.
958         * testsuite/23_containers/array/element_access/60497.cc: New.
959         * testsuite/30_threads/call_once/60497.cc: New.
960         * testsuite/30_threads/unique_lock/cons/60497.cc: New.
962 2014-05-09  Jonathan Wakely  <jwakely@redhat.com>
964         * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
965         (GLIBCXX_3.4.21): Export base object constructor for regex_error.
966         * acinclude.m4 (libtool_VERSION): Bump.
967         * configure: Regenerate.
968         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
969         * testsuite/28_regex/regex_error/base.cc: New.
971 2014-05-08  Joshua Gay  <jgay@gnu.org>
973         PR libstdc++/61117
974         * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
975         source" with "free software".
976         * doc/html/faq.html: Likewise.
978 2014-05-08  Jonathan Wakely  <jwakely@redhat.com>
980         PR libstdc++/57394
981         * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
982         deleted for C++11.
983         (operator=(const ios_base&)): Likewise.
984         * include/std/streambuf: Remove trailing whitespace.
985         (basic_streambuf(const basic_streambuf&)): Fix initializer for
986         _M_out_end. Define as defaulted for C++11.
987         (operator=(const basic_streambuf&)): Define as defaulted for C++11.
988         (swap(basic_streambuf&)): Define for C++11.
989         * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
991         PR libstdc++/13860
992         * include/std/fstream (basic_filebuf): Enforce requirements on traits.
994         * include/std/iostream: Fix URL in comment.
995         * src/c++98/ios_init.cc: Fix path in comment.
997 2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
999         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1000         * configure: Regenerate.
1002 2014-05-07  Jonathan Wakely  <jwakely@redhat.com>
1004         PR libstdc++/61023
1005         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1006         comparison function.
1007         * testsuite/23_containers/set/cons/61023.cc: New.
1009         PR libstdc++/61086
1010         * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1011         Remove.
1012         * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1013         arithmetic to obtain a mutable iterator from const_iterator.
1014         * include/bits/vector.tcc (vector::insert): Likewise.
1015         * include/debug/vector (vector::erase): Likewise.
1016         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1017         Adjust dg-error line number.
1018         * testsuite/23_containers/vector/requirements/dr438/
1019         constructor_1_neg.cc: Likewise.
1020         * testsuite/23_containers/vector/requirements/dr438/
1021         constructor_2_neg.cc: Likewise.
1022         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1023         Likewise.
1025 2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>
1027         * include/Makefile.in: Regenerate.
1029 2014-05-06  François Dumont  <fdumont@gcc.gnu.org>
1031         * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1032         parameter to pass the 2 instances to check allocator equality.
1033         * include/debug/safe_container.h: New, define _Safe_container<>.
1034         * include/Makefile.am: Add previous.
1035         * include/debug/deque (std::__debug::deque<>): Inherit
1036         _Safe_container<>. Use default implementation for all special
1037         functions.
1038         * include/debug/forward_list (std::__debug::forward_list<>):
1039         Likewise.
1040         * include/debug/list (std::__debug::list<>): Likewise.
1041         * include/debug/map.h (std::__debug::map<>): Likewise.
1042         * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1043         * include/debug/set.h (std::__debug::set<>): Likewise.
1044         * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1045         * include/debug/string (std::__debug::basic_string<>): Likewise.
1046         * include/debug/unordered_map
1047         (std::__debug::unordered_map<>): Likewise.
1048         (std::__debug::unordered_multimap<>): Likewise.
1049         * include/debug/unordered_set
1050         (std::__debug::unordered_set<>): Likewise.
1051         (std::__debug::unordered_multiset<>): Likewise.
1052         * include/debug/vector (std::__debug::vector<>): Likewise.
1053         * include/debug/safe_base.h (_Safe_sequence_base()): Add
1054         noexcept.
1055         (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1056         (~_Safe_sequence_base()): Add noexcept.
1057         * include/debug/safe_sequence.h
1058         (std::__debug::_Safe_node_sequence<>): New.
1059         * include/debug/safe_unordered_base.h
1060         (_Safe_unordered_container_base()): Add noexcept.
1061         (~_Safe_unordered_container_base()): Likewise.
1062         (_M_swap(_Safe_unordered_container_base&)): Likewise.
1063         * include/debug/safe_unordered_container.h:
1064         (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1065         (_Safe_unordered_container<>::_M_invalidate_all()): New.
1066         * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1067         qualifications.
1068         * testsuite/util/debug/checks.h (check_construct1): Just implement
1069         an invalid constructor invocation  and no other operations
1070         potentially not supported by some types of container.
1071         (check_construct2): Likewise.
1072         (check_construct3): Likewise.
1073         * testsuite/23_containers/forward_list/allocator/move.cc: Add
1074         check on iterators to make sure they are correctly moved in debug
1075         mode.
1076         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1077         Likewise.
1078         * testsuite/23_containers/map/allocator/move.cc: Likewise.
1079         * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1080         * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1081         * testsuite/23_containers/multimap/allocator/move_assign.cc:
1082         Likewise.
1083         * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1084         * testsuite/23_containers/multiset/allocator/move_assign.cc:
1085         Likewise.
1086         * testsuite/23_containers/set/allocator/move.cc: Likewise.
1087         * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1088         * testsuite/23_containers/unordered_map/allocator/move.cc:
1089         Likewise.
1090         * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1091         Likewise.
1092         * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1093         Likewise.
1094         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1095         Likewise.
1096         * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1097         Likewise.
1098         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1099         Likewise.
1100         * testsuite/23_containers/unordered_set/allocator/move.cc:
1101         Likewise.
1102         * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1103         Likewise.
1104         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1105         New.
1106         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1107         New.
1108         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1109         New.
1110         * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1111         New.
1112         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1113         New.
1114         * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1115         * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1116         * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1117         * testsuite/23_containers/map/debug/move_neg.cc: New.
1118         * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1119         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1120         * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1121         * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1122         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1123         * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1124         * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1125         * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1126         * testsuite/23_containers/set/debug/move_neg.cc: New.
1127         * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1128         New.
1129         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1130         New.
1131         * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1132         * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1133         New.
1134         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1135         New.
1136         * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1137         New.
1138         * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1139         New.
1140         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1141         New.
1142         * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1143         New.
1144         * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1145         New.
1146         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1147         New.
1148         * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1149         * testsuite/23_containers/vector/debug/move_neg.cc: New.
1151 2014-05-05  Andreas Schwab  <schwab@linux-m68k.org>
1153         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1154         (CXXABI_1.3.9): Remove __float128 symbols.
1156 2014-05-02  Jonathan Wakely  <jwakely@redhat.com>
1158         PR libstdc++/59476
1159         * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1160         function to handle both C++03 and C++11 _Rb_tree_node implementations.
1161         (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1162         * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1163         refer to...
1164         * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1166         PR libstdc++/61036
1167         * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1168         Check the correct type in the static assertion.
1169         * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1171 2014-04-27  Tim Shen  <timshen91@gmail.com>
1173         * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1174         Add _S_opcode_repeat support to distingush a loop from
1175         _S_opcode_alternative.
1176         * include/bits/regex_automaton.tcc (_State_base::_M_print,
1177         _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1178         _StateSeq<>::_M_clone): Likewise.
1179         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1180         Likewise.
1181         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1182         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1183         Uglify local variable __i.
1184         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1185         Use size_t instead of int to compare with vector::size().
1187 2014-04-27  Tim Shen  <timshen91@gmail.com>
1189         * include/bits/regex_executor.h: Add _M_rep_count to track how
1190         many times this repeat node are visited.
1191         * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1192         _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1193         infinite loop.
1195 2014-04-27  Tim Shen  <timshen91@gmail.com>
1197         * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1198         _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1199         _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1200         * include/bits/regex_automaton.h: Remove quantifier counting variable.
1201         * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1202         Adjust debug NFA dump.
1204 2014-04-25  Lars Gullik Bjønnes  <larsbj@gullik.org>
1206         PR libstdc++/60710
1207         * include/experimental/optional (operator!=): Implement in terms of
1208         operator==.
1209         * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1210         * testsuite/experimental/optional/relops/2.cc: Likewise.
1211         * testsuite/experimental/optional/relops/3.cc: Likewise.
1212         * testsuite/experimental/optional/relops/4.cc: Likewise.
1213         * testsuite/experimental/optional/relops/5.cc: Likewise.
1214         * testsuite/experimental/optional/relops/6.cc: Likewise.
1216 2014-04-25  Jonathan Wakely  <jwakely@redhat.com>
1218         PR libstdc++/60958
1219         * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1220         * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1221         comment.
1223 2014-04-25  Marc Glisse  <marc.glisse@inria.fr>
1225         * testsuite/util/testsuite_abi.cc (check_version): Update for
1226         CXXABI_1.3.9.
1228 2014-04-24  Tim Shen  <timshen91@gmail.com>
1230         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1231         Do _M_alt before _M_next.
1232         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1234 2014-04-24  Marc Glisse  <marc.glisse@inria.fr>
1236         PR libstdc++/43622
1237         * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1238         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1239         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1241 2014-04-24  Andreas Schwab  <schwab@suse.de>
1243         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1244         new CXXABI_1.3.9 symbols.
1246 2014-04-23  Andreas Schwab  <schwab@linux-m68k.org>
1248         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1249         (CXXABI_1.3.9): New version.
1251 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
1253         PR libstdc++/43622
1254         * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1255         * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1256         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1258 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1260         * configure.host: Remove solaris2.9 handling.
1261         Change os_include_dir to os/solaris/solaris2.10.
1262         * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1263         * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1264         * configure: Regenerate.
1265         * config/abi/post/solaris2.9: Remove.
1266         * config/os/solaris/solaris2.9: Rename to ...
1267         * config/os/solaris/solaris2.10: ... this.
1268         * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1269         Remove.
1271         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1272         Remove Solaris 9 reference.
1273         * doc/html/manual/configure.html: Regenerate.
1275         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1276         Remove *-*-solaris2.9 xfail.
1277         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1278         Likewise.
1280         * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1281         xfail.
1283 2014-04-16  Jonathan Wakely  <jwakely@redhat.com>
1285         * include/std/functional (__is_location_invariant): Use __or_ helper.
1287 2014-04-15  Jonathan Wakely  <jwakely@redhat.com>
1289         PR libstdc++/60734
1290         * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1292         PR libstdc++/60695
1293         * include/std/atomic (atomic<_Tp>): Add static assertion.
1294         * testsuite/29_atomics/atomic/60695.cc: New.
1296         PR libstdc++/60594
1297         * include/std/functional (function::_Callable): Exclude own type
1298         from the callable checks.
1299         * testsuite/20_util/function/60594.cc: New.
1301         * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1302         const to constexpr member functions.
1304         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1305         delegating constructor.
1306         * include/bits/shared_ptr_base.h
1307         (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1309         * include/std/atomic: Uglify parameter names.
1311         PR c++/60786
1312         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1313         1.cc: Fix invalid explicit instantiations with unqualified names.
1314         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1315         2.cc: Likweise.
1316         * testsuite/20_util/tuple/53648.cc: Likweise.
1317         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1318         Likewise.
1319         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1320         Likewise.
1321         * testsuite/23_containers/unordered_map/requirements/
1322         debug_container.cc: Likewise.
1323         * testsuite/23_containers/unordered_map/requirements/
1324         explicit_instantiation/3.cc: Likewise.
1325         * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1326         Likewise.
1327         * testsuite/23_containers/unordered_multimap/requirements/
1328         explicit_instantiation/3.cc: Likewise.
1329         * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1330         Likewise.
1331         * testsuite/23_containers/unordered_multiset/requirements/
1332         explicit_instantiation/3.cc: Likewise.
1333         * testsuite/23_containers/unordered_set/requirements/
1334         debug_container.cc: Likewise.
1335         * testsuite/23_containers/unordered_set/requirements/
1336         explicit_instantiation/3.cc: Likewise.
1338         * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1339         not use uninitialized members in mem-initializers.
1340         * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1341         * testsuite/util/testsuite_common_types.h: Update comment.
1343         * include/experimental/string_view: Fix inconsistent exception specs.
1345         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1346         Remove name of unused parameter.
1348 2014-04-14  Jonathan Wakely  <jwakely@redhat.com>
1350         * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1351         _Vector_base::_M_allocate): NullablePointer requirements do not
1352         include initialization from literal zero, use value-initialization.
1353         * include/bits/vector.tcc (vector::_M_insert_aux,
1354         vector::_M_explace_back_aux): Likewise for assignment.
1356         * include/bits/allocator.h (operator==, operator!=): Add exception
1357         specifications.
1359         PR libstdc++/60497
1360         * include/std/tuple (get): Qualify calls to prevent ADL.
1361         * testsuite/20_util/tuple/60497.cc: New.
1363         * include/std/tuple (tuple_element_t): Define.
1364         * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1365         test.
1366         * testsuite/20_util/tuple/tuple_element_t.cc: New.
1368 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
1370         PR libstdc++/59434
1371         * include/bits/stl_iterator.h (move_iterator::reference,
1372         move_iterator::operator*): Implement LWG 2106.
1373         * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1375 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
1377         * include/std/complex (__complex_exp, pow): Specify the template
1378         parameter in calls to std::polar, for expression templates.
1380 2014-04-10  Andreas Schwab  <schwab@suse.de>
1382         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1383         symbols.
1384         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1385         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1387         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1389 2014-04-07  Jonathan Wakely  <jwakely@redhat.com>
1391         * testsuite/20_util/exchange/1.cc: Add missing return statements.
1392         * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1393         * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1394         specifications.
1396 2014-04-02  Dominique d'Humieres  <dominiq@lps.ens.fr>
1397             Jack Howarth <howarth@bromo.med.uc.edu>
1399         PR target/54407
1400         * testsuite/30_threads/condition_variable/54185.cc: Skip for
1401         darwin < 11.
1403 2014-04-01  Jonathan Wakely  <jwakely@redhat.com>
1405         * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1406         Update link.
1407         * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1408         Fix broken links.
1409         * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1410         * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1411         * doc/xml/manual/concurrency_extensions.xml
1412         (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1413         * doc/html/*: Regenerate.
1415 2014-03-31  Lars Gullik Bjønnes  <larsbj@gullik.org>
1416             Jonathan Wakely  <jwakely@redhat.com>
1418         PR libstdc++/60270
1419         * include/std/iomanip (_Quoted_string operator>>): Do not clear
1420         string if input is not quoted.
1421         * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1423 2014-03-31  Jonathan Wakely  <jwakely@redhat.com>
1425         * libsupc++/eh_ptr.cc: Improve static_assert messages.
1427 2014-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1429         * testsuite/18_support/exception_ptr/60612-terminate.cc
1430         (terminate, f): Wrap in _GLIBCXX_USE_C99.
1431         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1433 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
1435         * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1437         * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1438         * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1439         Likewise.
1440         * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1441         Likewise.
1442         * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1444         * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1445         Fix bad s/part/chapter/ substitutions.
1446         * doc/xml/manual/io.xml (std.io): Likewise.
1447         * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1448         * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1450         * doc/html/*: Regenerate.
1452 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
1454         PR libstdc++/60612
1455         * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1456         compatible with __cxa_exception.
1457         * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1458         Fix typos in comments.
1459         * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1460         * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1462 2014-03-25  Jonathan Wakely  <jwakely@redhat.com>
1464         PR libstdc++/60658
1465         * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1466         Use sizeof pointer type not the element type.
1467         * testsuite/29_atomics/atomic/60658.cc: New.
1469 2014-03-24  Jakub Jelinek  <jakub@redhat.com>
1471         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1472         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1473         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1474         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1475         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1476         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1477         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1478         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1479         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1480         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1481         entries.
1483 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
1485         * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1487 2014-03-23  François Dumont  <fdumont@gcc.gnu.org>
1489         * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1490         to delegated constructor.
1491         (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1492         (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1493         Likewise.
1494         (_Hashtable(
1495         initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1497 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
1499         PR libstdc++/60623
1500         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1502 2014-03-21  Jonathan Wakely  <jwakely@redhat.com>
1504         PR libstdc++/60587
1505         * include/debug/functions.h (_Is_contiguous_sequence): Define.
1506         (__foreign_iterator): Accept additional iterator. Do not dispatch on
1507         iterator category.
1508         (__foreign_iterator_aux2): Likewise. Add overload for iterators
1509         from different types of debug container. Use _Is_contiguous_sequence
1510         instead of is_lvalue_reference.
1511         (__foreign_iterator_aux3): Accept additional iterator. Avoid
1512         dereferencing past-the-end iterator.
1513         (__foreign_iterator_aux4): Use const value_type* instead of
1514         potentially user-defined const_pointer type.
1515         * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1516         and pass end iterator to __gnu_debug::__foreign_iterator.
1517         (__glibcxx_check_insert_range_after): Likewise.
1518         (__glibcxx_check_max_load_factor): Fix comment.
1519         * include/debug/vector (_Is_contiguous_sequence): Define partial
1520         specializations.
1521         * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1522         -std=gnu++11 option and unused header.
1523         * testsuite/23_containers/vector/debug/60587.cc: New.
1524         * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1526 2014-03-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1528         * crossconfig.m4: Support spu-*-elf* targets.
1529         * configure: Regenerate.
1531 2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
1533         PR libstdc++/60564
1534         * include/std/future (__future_base::_Task_state<>): Change
1535         constructors to template functions using perfect forwarding.
1536         (__create_task_state): Use decayed type as stored task.
1537         (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1538         * testsuite/30_threads/packaged_task/60564.cc: New.
1540 2014-03-16  François Dumont  <fdumont@gcc.gnu.org>
1542         * scripts/create_testsuite_files: Add testsuite/experimental in
1543         the list of folders to search for tests.
1545 2014-03-15  Andreas Schwab  <schwab@linux-m68k.org>
1547         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1549 2014-03-15  Tim Shen  <timshen91@gmail.com>
1551         * include/bits/regex.h: Add/modify comments.
1552         * include/bits/regex_compiler.h: Likewise.
1553         * include/bits/regex_executor.h: Likewise.
1554         * include/bits/regex_executor.tcc: Likewise.
1555         * include/bits/regex_scanner.h: Likewise.
1557 2014-03-14  Jonathan Wakely  <jwakely@redhat.com>
1559         PR ipa/58721
1560         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1561         _ZNSt12system_errorC* symbols which are not exported on any target.
1563 2014-03-12  Roland McGrath  <mcgrathr@google.com>
1564             Mark Seaborn  <mseaborn@google.com>
1566         PR libstdc++/59392
1567         * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1568         the address of a null pointer, not with a null pointer to pointer.
1569         Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1570         * testsuite/18_support/bad_exception/59392.cc: New file.
1572 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
1574         PR libstdc++/60499
1575         * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1576         Uglify name.
1577         * include/debug/map (map::operator=(map&&)): Likewise.
1578         * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1579         * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1580         * include/debug/set (set::operator=(set&&)): Likewise.
1581         * include/debug/unordered_map
1582         (unordered_map::operator=(unordered_map&&)): Likewise.
1583         (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1584         * include/debug/unordered_set
1585         (unordered_set::operator=(unordered_set&&)): Likewise.
1586         (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1587         * include/debug/vector (vector::operator=(vector&&)): Likewise.
1588         * testsuite/23_containers/forward_list/debug/60499.cc: New
1589         * testsuite/23_containers/map/debug/60499.cc: New
1590         * testsuite/23_containers/multimap/debug/60499.cc: New
1591         * testsuite/23_containers/multiset/debug/60499.cc: New
1592         * testsuite/23_containers/set/debug/60499.cc: New
1593         * testsuite/23_containers/unordered_map/debug/60499.cc: New
1594         * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1595         * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1596         * testsuite/23_containers/unordered_set/debug/60499.cc: New
1597         * testsuite/23_containers/vector/debug/60499.cc: New
1599 2014-03-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
1601         * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1602         for filesystem and fundamentals TS work items.
1604 2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
1606         PR c++/60376
1607         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1608         Adjust dg-error directives.
1610 2014-02-26  Tim Shen  <timshen91@gmail.com>
1612         * include/bits/regex.tcc (match_results<>::format,
1613         regex_replace<>): Update __out after calling std::copy.
1614         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1615         Add testcase.
1616         * testsuite/28_regex/match_results/format.cc: Likewise.
1618 2014-02-22  Marc Glisse  <marc.glisse@inria.fr>
1620         PR libstdc++/60308
1621         * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1622         allocator_type&)): Remove redundant call to _M_initialize_map.
1623         (deque::deque(const allocator_type&)): Initialize _Base with a
1624         constructor that calls _M_initialize_map.
1626         Partial revert:
1628         2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
1629         PR libstdc++/58338
1630         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1631         _M_initialize_map.
1633 2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
1635         Rename testsuite directory shared_mutex to shared_timed_mutex
1636         for consistency.
1637         * testsuite/30_threads/shared_mutex: Moved to...
1638         * testsuite/30_threads/shared_timed_mutex: ...here
1640 2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
1642         Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1643         * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1644         * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1645         * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1646         * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1647         * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1648         * testsuite/30_threads/shared_lock/requirements/
1649         explicit_instantiation.cc: Ditto.
1650         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1651         * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1652         * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1653         * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1654         * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1655         * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1656         * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1657         * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1658         * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1659         * testsuite/30_threads/shared_mutex/requirements/
1660         standard_layout.cc: Ditto.
1661         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1662         * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1663         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1664         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1665         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1667 2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1669         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1670         execution on i?86-*-solaris2.9, remove comment.
1671         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1673 2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
1675         * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1676         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1677         * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1679 2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
1681         * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1682         not use varargs when argument could be non-POD.
1683         (__alloctr_rebind_helper): Eliminate static const bool member by
1684         using true_type and false_type.
1685         (allocator_traits::__allocate_helper): Likewise.
1686         (allocator_traits::__construct_helper): Likewise.
1687         (allocator_traits::__destroy_helper): Likewise.
1688         (allocator_traits::__maxsize_helper): Likewise.
1689         (allocator_traits::__select_helper): Likewise.
1690         * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1691         * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1692         Remove redundant condition.
1693         * include/bits/stl_vector.h (vector::operator=(const vector&)):
1694         Likewise.
1695         (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1696         indirection through __alloc_traits.
1697         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1698         Eliminate static const bool members by using true_type and false_type.
1699         (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1700         * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1701         * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1702         New.
1703         * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1705         PR libstdc++/59829
1706         * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1707         (vector::_M_data_ptr): New overloaded functions to ensure empty
1708         vectors do not dereference the pointer.
1709         * testsuite/23_containers/vector/59829.cc: New.
1710         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1711         Adjust dg-error line number.
1712         * testsuite/23_containers/vector/requirements/dr438/
1713         constructor_1_neg.cc: Likewise.
1714         * testsuite/23_containers/vector/requirements/dr438/
1715         constructor_2_neg.cc: Likewise.
1716         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1717         Likewise.
1719         PR libstdc++/21609
1720         * include/ext/array_allocator.h: Add deprecated attribute.
1722         PR libstdc++/57226
1723         * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1724         installation and use of python printers.
1725         * doc/xml/manual/status_cxx2011.xml: Update.
1726         * doc/html/*: Regenerate.
1728 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
1729             Kyle Lippincott  <spectral@google.com>
1731         PR libstdc++/59656
1732         * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1733         constructor and grant friendship to weak_ptr.
1734         (weak_ptr::lock()): Use new constructor.
1735         * include/bits/shared_ptr_base.h
1736         (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1737         and define specializations.
1738         (__shared_count): Add new non-throwing constructor.
1739         (__shared_ptr): Add new non-throwing constructor and grant friendship
1740         to __weak_ptr.
1741         (__weak_ptr::lock()): Use new constructor.
1742         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1743         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1745 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
1747         PR libstdc++/59215
1748         * include/bits/shared_ptr_base.h
1749         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1750         load.
1752 2014-01-27  Jason Merrill  <jason@redhat.com>
1754         Core DR 475
1755         PR c++/41174
1756         PR c++/59224
1757         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1758         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1759         (__cxa_allocate_exception): Don't set it here.
1761 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
1763         * include/bits/stl_map.h: Remove anachronistic comment.
1764         * include/bits/stl_multimap.h: Add whitespace.
1765         * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1766         -std=gnu++11 instead of -std=c++11.
1767         * testsuite/23_containers/map/operators/2.cc: Likewise.
1768         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1769         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1770         * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1772         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1773         * configure: Regenerate.
1775 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1777         PR libstdc++/59531
1778         * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1779         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1781 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1782             Peter A. Bigot <pab@pabigot.com>
1784         PR libstdc++/59531
1785         * include/experimental/string_view
1786         (copy(_CharT*, size_type, size_type) const): Correct throw string.
1787         Correct copy start location.
1789 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1790             Peter A. Bigot <pab@pabigot.com>
1792         PR libstdc++/59530
1793         * include/experimental/string_view (operator[](size_type) const):
1794         Fix one-off index error in debug check.
1795         * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1796         test basic_string_view at size().
1797         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1799 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1800             Peter A. Bigot <pab@pabigot.com>
1802         PR libstdc++/59529
1803         * include/experimental/string_view
1804         (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1805         * testsuite/experimental/string_view/operations/substr/char/1.cc:
1806         Comment out catch of out_of_range; No terminating null
1807         in basic_string_view.  Check begin == end.
1808         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1809         Ditto.
1811 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
1813         PR libstdc++/59548
1814         * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1815         constructor to prevent it being implicitly defined as deleted, but
1816         do not copy anything.
1817         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1818         Define copy and move constructors similar to _Safe_sequence_base's.
1819         * testsuite/23_containers/unordered_map/59548.cc: New.
1821 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1822             Steve Ellcey  <sellcey@mips.com>
1824         * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1825         function.
1826         * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1827         * (configure, config.h.in): Regenerate.
1828         * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1830 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
1832         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1833         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1835         PR libstdc++/59872
1836         * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1837         * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1838         Likewise.
1839         * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1840         Likewise.
1841         * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1842         * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1843         functions to perform moving or copying of elements from rvalue tree.
1844         (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1845         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1846         * testsuite/23_containers/map/59872.cc: New.
1847         * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1849 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
1851         * include/bits/stl_deque.h (_Deque_impl): Move comment.
1853         PR libstdc++/58764
1854         * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1855         Split into separate default constructor and constructor taking
1856         allocator.
1857         * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1858         * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1859         Likewise.
1860         * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1861         * include/debug/list (list::list(const _Allocator&)): Likewise.
1862         * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1863         Likewise.
1864         * include/debug/multimap.h
1865         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1866         * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1867         Likewise.
1868         * include/debug/multiset.h
1869         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1870         * include/debug/vector (vector::vector(const allocator_type&)):
1871         Likewise.
1872         * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1873         * include/profile/list (list::list(const _Allocator&)): Likewise.
1874         * include/profile/map.h
1875         (map::map(const _Compare&, const _Allocator&)): Likewise.
1876         * include/profile/multimap.h
1877         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1878         * include/profile/set.h
1879         (set::set(const _Compare&, const _Allocator&)): Likewise.
1880         * include/profile/multiset.h
1881         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1882         * include/profile/vector (vector::vector(const _Allocator&)):
1883         Likewise.
1884         * testsuite/23_containers/deque/58764.cc: New.
1885         * testsuite/23_containers/list/58764.cc: New.
1886         * testsuite/23_containers/map/58764.cc: New.
1887         * testsuite/23_containers/multimap/58764.cc: New.
1888         * testsuite/23_containers/set/58764.cc: New.
1889         * testsuite/23_containers/multiset/58764.cc: New.
1890         * testsuite/23_containers/vector/58764.cc: New.
1891         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1892         Adjust dg-error line number.
1893         * testsuite/23_containers/deque/requirements/dr438/
1894         constructor_1_neg.cc: Likewise.
1895         * testsuite/23_containers/deque/requirements/dr438/
1896         constructor_2_neg.cc: Likewise.
1897         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1898         Likewise.
1899         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1900         Likewise.
1901         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1902         Likewise.
1903         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1904         Likewise.
1905         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1906         Likewise.
1907         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1908         Likewise.
1909         * testsuite/23_containers/vector/requirements/dr438/
1910         constructor_1_neg.cc: Likewise.
1911         * testsuite/23_containers/vector/requirements/dr438/
1912         constructor_2_neg.cc: Likewise.
1913         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1914         Likewise.
1916         PR libstdc++/58764 (again)
1917         * include/bits/stl_list.h (list): Make default constructor's exception
1918         specification conditional.
1919         * include/bits/stl_vector.h (vector): Likewise.
1920         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1921         to default constructor.
1922         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1923         Adjust dg-error line number.
1924         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1925         Likewise.
1926         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1927         Likewise.
1928         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1929         Likewise.
1930         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1931         Likewise.
1932         * testsuite/23_containers/vector/requirements/dr438/
1933         constructor_1_neg.cc: Likewise.
1934         * testsuite/23_containers/vector/requirements/dr438/
1935         constructor_2_neg.cc: Likewise.
1936         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1937         Likewise.
1939 2014-01-21  Tim Shen  <timshen91@gmail.com>
1941         * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1942         * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1943         * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1945 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
1947         PR libstdc++/56267
1948         * include/bits/hashtable.h (__cache_default): Do not depend on
1949         whether the hash function is DefaultConstructible or CopyAssignable.
1950         (_Hashtable): Adjust static assertions.
1951         * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1952         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1953         dg-error line number.
1954         * testsuite/23_containers/unordered_set/
1955         not_default_constructible_hash_neg.cc: Remove.
1957 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
1959         * scripts/create_testsuite_files: Add testsuite/experimental in
1960         the list of folders to search for tests.
1961         * include/experimental/string_view
1962         (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1963         incompatible with constexpr qualifier.
1964         (basic_string_view<>::front()): Likewise.
1965         (basic_string_view<>::back()): Likewise.
1966         * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1967         Merge dg-options directives into one.
1968         * testsuite/experimental/string_view/element_access/char/2.cc:
1969         Likewise. Remove invalid experimental namespace scope on
1970         string_view_type.
1972 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
1974         PR libstdc++/56267
1975         * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1976         friendship to _Local_iterator_base<..., false>.
1977         (_Local_iterator_base): Give protected access to all existing members.
1978         (_Local_iterator_base::_M_curr()): New public accessor.
1979         (_Local_iterator_base::_M_get_bucket()): New public accessor.
1980         (_Local_iterator_base<..., false>::_M_init()): New function to manage
1981         the lifetime of the _Hash_code_base explicitly.
1982         (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1983         (_Local_iterator_base<..., false>): Define copy constructor and copy
1984         assignment operator that use new functions to manage _Hash_code_base.
1985         (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1986         operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1987         Use public API for _Local_iterator_base.
1988         * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1989         * include/debug/unordered_map (__debug::unordered_map::erase(),
1990         __debug::unordered_multimap::erase()): Likewise.
1991         * include/debug/unordered_set (__debug::unordered_set::erase(),
1992         __debug::unordered_multiset::erase()): Likewise.
1993         * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1995 2014-01-19  Tim Shen  <timshen91@gmail.com>
1997         * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1998         Fix parse error of multiple consecutive quantifiers like "a**".
1999         * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2000         Likewise.
2001         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2003 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
2005         * include/profile/set.h (set): Implement C++11 allocator-aware
2006         container requirements.
2007         * include/profile/map.h (map): Likewise.
2008         * include/profile/multiset.h (multiset): Likewise.
2009         * include/profile/multimap.h (multimap): Likewise.
2010         * include/profile/set.h
2011         (set::operator=(const set&)): Define as default in C++11 mode.
2012         (set::operator=(set&&)): Likewise.
2013         * include/profile/map.h
2014         (map::operator=(const map&)): Likewise.
2015         (map::operator=(map&&)): Likewise.
2016         * include/profile/multiset.h
2017         (multiset::operator=(const multiset&)): Likewise.
2018         (multiset::operator=(multiset&&)): Likewise.
2019         * include/profile/multimap.h
2020         (multimap::operator=(const multimap&)): Likewise.
2021         (multimap::operator=(multimap&&)): Likewise.
2022         * include/profile/set.h (set::operator=(std::initializer_list<>)):
2023         Rely on the same operator from normal mode.
2024         * include/profile/map.h (map::operator=(std::initializer_list<>)):
2025         Likewise.
2026         * include/profile/multiset.h
2027         (multiset::operator=(std::initializer_list<>)): Likewise.
2028         * include/profile/multimap.h
2029         (multimap::operator=(std::initializer_list<>)): Likewise.
2030         * include/profile/set.h (set::swap(set&)): Add noexcept
2031         specification.
2032         * include/profile/map.h (map::swap(map&)): Likewise.
2033         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2034         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2036 2014-01-17  Tim Shen  <timshen91@gmail.com>
2038         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2039         use std::map.
2040         * include/bits/regex_automaton.h: Do not use std::set.
2041         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2042         _BracketMatcher<>::_M_add_collating_element(),
2043         _BracketMatcher<>::_M_add_equivalence_class(),
2044         _BracketMatcher<>::_M_make_range()): Likewise.
2045         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2046         Likewise.
2047         * include/bits/regex_executor.h: Do not use std::queue.
2048         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2049         _Executor<>::_M_dfs()): Likewise.
2050         * include/std/regex: Remove <map>, <set> and <queue>.
2052 2014-01-17  Tim Shen  <timshen91@gmail.com>
2054         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2055         basic_regex<>::assign()): Change __compile_nfa to accept
2056         const _CharT* only.
2057         * include/bits/regex_compiler.h: Change _Compiler's template
2058         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2059         * include/bits/regex_compiler.tcc: Likewise.
2061 2014-01-17  Tim Shen  <timshen91@gmail.com>
2063         * include/bits/regex_compiler.h: Change _ScannerT into char-type
2064         templated.
2065         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2066         _ScannerBase from _Scanner; Change _Scanner's template argument from
2067         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2068         instead.
2069         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2070         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2071         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2072         Likewise.
2073         * include/std/regex: Add <cstring> for using strchr.
2075 2014-01-17  Tim Shen  <timshen91@gmail.com>
2077         * bits/regex_automaton.tcc: Indentation fix.
2078         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2079         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2080         _BracketMatcher<>): Add bool option template parameters and
2081         specializations to make matching more efficient and space saving.
2082         * bits/regex_compiler.tcc: Likewise.
2084 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
2086         PR libstdc++/59712
2087         * include/bits/hashtable_policy.h: Fix some long lines.
2088         * include/bits/hashtable.h (__hash_code_base_access): Define and
2089         use it to check its _M_bucket_index noexcept qualification. Use
2090         also in place of...
2091         (__access_protected_ctor): ...this.
2092         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2093         Adapt line number.
2094         * testsuite/23_containers/unordered_set/
2095         not_default_constructible_hash_neg.cc: Likewise.
2097 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
2099         * include/debug/set.h (set): Implement C++11 allocator-aware
2100         container requirements.
2101         * include/debug/map.h (map): Likewise.
2102         * include/debug/multiset.h (multiset): Likewise.
2103         * include/debug/multimap.h (multimap): Likewise.
2104         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2105         fix implementation regarding management of safe iterators.
2106         * include/debug/map.h (map::operator=(map&&)): Likewise.
2107         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2108         * include/debug/multimap.h (multimap::operator=(multimap&&)):
2109         Likewise.
2110         * include/debug/set.h (set::operator=(std::initializer_list<>)):
2111         Rely on the same operator from normal mode.
2112         * include/debug/map.h (map::operator=(std::initializer_list<>)):
2113         Likewise.
2114         * include/debug/multiset.h
2115         (multiset::operator=(std::initializer_list<>)): Likewise.
2116         * include/debug/multimap.h
2117         (multimap::operator=(std::initializer_list<>)): Likewise.
2118         * include/debug/set.h (set::swap(set&)): Add noexcept
2119         specification, add allocator equality check.
2120         * include/debug/map.h (map::swap(map&)): Likewise.
2121         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2122         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2124 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
2126         PR libstdc++/59698
2127         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2128         and stylistic improvements.
2129         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2130         and update for C++11.
2131         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2133         PR libstdc++/59687
2134         * doc/xml/manual/backwards_compatibility.xml
2135         (backwards.third.nocreate_noreplace): Correct and expand.
2137         PR libstdc++/59699
2138         * doc/xml/manual/support.xml (std.support.types.null): Update links.
2140 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
2142         PR libstdc++/59738
2143         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2144         support for non-Movable types.
2146         PR libstdc++/59680
2147         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2149 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
2151         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2152         *this allocator instance when building temporary vector instance
2153         so that *this allocator does not get moved.
2154         * include/debug/safe_base.h
2155         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2156         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2157         move constructor from _Safe_sequence_base.
2158         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2159         safe iterators if the instance is moved.
2160         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2161         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2162         check on a vector iterator.
2163         * testsuite/23_containers/vector/allocator/move_assign.cc
2164         (test02): Likewise.
2165         (test03): New, test with a non-propagating allocator.
2166         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2168 2014-01-07  Tim Shen  <timshen91@gmail.com>
2170         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2171         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2172         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2173         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2174         _BracketMatcher<>::_M_add_char(),
2175         _BracketMatcher<>::_M_add_collating_element(),
2176         _BracketMatcher<>::_M_add_equivalence_class(),
2177         _BracketMatcher<>::_M_add_character_class(),
2178         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2179         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2180         Fix _AnyMatcher behavior of POSIX style and move _M_flags
2181         to template parameter; Add cache for _BracketMatcher. Adjust
2182         declarations from here...
2183         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2184         imbuing a regex will trigger a recompilation to rebuild the cache.
2185         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2186         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2187         different template bool parameters.
2188         * include/bits/regex_executor.h: Remove unnecessary declarations.
2189         * include/std/regex: Adjust including orders.
2190         * testsuite/28_regex/traits/char/user_defined.cc: New.
2191         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2193 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2195         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2196         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2197         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2198         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2199         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2201 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2203         Update copyright years
2205 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2207         * testsuite/18_support/new_handler.cc,
2208         testsuite/18_support/terminate_handler.cc,
2209         testsuite/18_support/unexpected_handler.cc: Use the standard form for
2210         the copyright notice.
2212 Copyright (C) 2014 Free Software Foundation, Inc.
2214 Copying and distribution of this file, with or without modification,
2215 are permitted in any medium without royalty provided the copyright
2216 notice and this notice are preserved.