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