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