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