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