PR target/58679
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob7672b08f40cf257f16f172b2f5b3bcd6b48e52ea
1 2013-10-26  Tim Shen  <timshen91@gmail.com>
3         * include/bits/regex.h: Remove unnecessary friends.
4         * include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
5         to here.
6         * include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
7         they are merged into _Executor. Eliminate quantifier tracking part, so
8         it's faster.
9         * include/bits/regex_executor.tcc: Implement _Executor.
10         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
11         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
12         duplicate testcases.
13         * testsuite/performance/28_regex/split.h: New.
14         * testsuite/performance/28_regex/split_bfs.cc: New.
15         * testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
16         agreement judger: do not compare match_results when executor return
17         false.
19 2013-10-25  François Dumont  <fdumont@gcc.gnu.org>
21         * include/debug/formatter.h (__check_singular): Add const on
22         iterator reference.
23         * include/debug/functions.h (__check_singular): Likewise.
24         (__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete.
25         (__check_dereferenceable(const _Ite&)): Add const on iterator
26         reference.
27         (__check_dereferenceable(const _Safe_local_iterator<>&)): New.
28         * include/debug/safe_iterator.h (__check_singular_aux): Review
29         comment.
30         * testsuite/23_containers/vector/debug/debug_functions.cc: New.
31         * testsuite/23_containers/unordered_set/debug/debug_functions.cc:
32         New.
34 2013-10-23  Chris Jefferson  <chris@bubblescope.net>
35             Paolo Carlini  <paolo.carlini@oracle.com>
37         * testsuite/util/testsuite_containergen.h: New.
38         * testsuite/util/testsuite_iterators.h (test_container<>::val): Add.
39         * testsuite/25_algorithms/nth_element/random_test.cc: New, use the
40         above.
41         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
42         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
43         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
45 2013-10-23  Jason Merrill  <jason@redhat.com>
47         * include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.
49 2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
51         PR libstdc++/58850
52         * include/std/chrono (minutes, hours): Change typedefs to uniformly
53         use int64_t.
54         * testsuite/20_util/duration/arithmetic/58850.cc: New.
56 2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
58         * testsuite/decimal/pr58815.cc: Fix thinko.
60 2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
62         PR libstdc++/58815
63         * include/decimal/decimal (decimal32::operator long long(),
64         decimal64::operator long long(), decimal128::operator long long()):
65         Add in c++11 mode per n3407.
66         * testsuite/decimal/pr58815.cc: New.
68 2013-10-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
70         * include/bits/basic_string.h (operator""s): Remove space between quotes
71         and literal identifier.
72         * include/std/chrono (operator""h, operator""min, operator""s,
73         operator""ms, operator""us, operator""ns): Ditto.
75 2013-10-22  Ed Smith-Rowland  <3dw4rd@verizon.net>
77         Implement N3779 - User-defined Literals for std::complex,
78         part 2 of UDL for Standard Library Types
79         * include/std/complex: Add complex literal operators.
80         * testsuite/26_numerics/complex/literals/types.cc: New.
81         * testsuite/26_numerics/complex/literals/values.cc: New.
83 2013-10-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
85         PR libstdc++/58804
86         PR libstdc++/58729
87         * include/tr2/dynamic_bitset
88         (__dynamic_bitset_base<_WordT, _Alloc>::_M_are_all_aux,
89         __dynamic_bitset_base<_WordT, _Alloc>::_M_do_count):
90         Use __builtin_popcountll() instead of __builtin_popcountl().
91         * include/tr2/dynamic_bitset.tcc
92         (__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_first,
93         __dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_next):
94         Use __builtin_ctzll() instead of __builtin_ctzl().
96 2013-10-20  Tim Shen  <timshen91@gmail.com>
98         * include/bits/regex.h: Remove virtual class _Automaton.
99         * include/bits/regex_automaton.h: Likewise.
100         * include/bits/regex.tcc: Adjust comment for policy changing.
101         * include/bits/regex_executor.h: Update comments of complexity.
102         * include/bits/regex_executor.tcc: Adjust executor choosing
103         policy. Now DFS executor is the default one.
104         * testsuite/util/testsuite_regex.h (regex_match_debug,
105         regex_search_debug): Adjust for policy changing.
107 2013-10-20  Chris Jefferson  <chris@bubblescope.net>
108             Paolo Carlini  <paolo.carlini@oracle.com>
110         PR libstdc++/58800
111         * include/bits/stl_algo.h (__unguarded_partition_pivot): Change
112         __last - 2 to __last - 1.
113         * testsuite/25_algorithms/nth_element/58800.cc: New
115 2013-10-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
117         PR libstdc++/58729
118         * include/tr2/dynamic_bitset (_M_resize, resize): Use input value
119         to set bits; (_M_do_left_shift, _M_do_right_shift, _M_do_to_ulong,
120         _M_do_to_ullong, _M_do_find_first, _M_do_find_next, _M_copy_from_ptr,
121         operator>>): Move long methods outline to...
122         * include/tr2/dynamic_bitset.tcc: New.
123         * include/Makefile.am: Add dynamic_bitset.tcc.
124         * include/Makefile.in: Add dynamic_bitset.tcc.
125         * testsuite/tr2/dynamic_bitset/pr58729.cc: New.
127 2013-10-18  Tim Shen  <timshen91@gmail.com>
129         * include/bits/regex_scanner.tcc: (_Scanner<>::_M_scan_normal,
130         _Scanner<>::_M_eat_escape_ecma, _Scanner<>::_M_eat_escape_posix,
131         _Scanner<>::_M_eat_escape_awk): Narrow character before finding in maps.
132         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
133         New.
135 2013-10-17  Tim Shen  <timshen91@gmail.com>
137         * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
138         Fix initialization orders in initialization list and add explicit braces
139         for potentially ambiguous(actually not) `else` branch to eliminate
140         warnings.
141         * include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise.
142         * include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher,
143         _BracketMatcher<>::_BracketMatcher): Likewise.
144         * include/bits/regex_compiler.tcc (_Compiler<>::_Compiler,
145         _Compiler<>::_M_atom): Likewise.
146         * include/bits/regex_executor.h (_Executor<>::_Executor): Likewise.
147         * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs,
148         _Executor<>::_M_word_boundry): Likewise.
149         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner,
150         _Scanner<>::_M_eat_class): Likewise.
151         * include/bits/regex.tcc (__regex_algo_impl<>,
152         regex_iterator<>::operator++): Likewise, and remove unused typedef.
154 2013-10-16  Tim Shen  <timshen91@gmail.com>
156         * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
157         Add initialization for _M_has_m1.
158         * include/bits/regex.tcc (regex_token_iterator<>::operator=): Add return
159         statment.
161 2013-10-15  Diego Novillo  <dnovillo@google.com>
163         * testsuite/20_util/exchange/1.cc: Add missing function
164         bodies.
166 2013-10-15  Tim Shen  <timshen91@gmail.com>
168         PR libstdc++/58737
169         * include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
170         leak by adding it.
171         * include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.
173 2013-10-11  H.J. Lu  <hongjiu.lu@intel.com>
175         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
177 2013-10-10  Marcus Shawcroft  <marcus.shawcroft@arm.com>
179         * testsuite/29_atomics/atomic/cons/49445.cc
180         (dg-require-atomic-builtins): Add.
182 2013-10-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
184         * testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
185         aborting.
187 2013-10-09  Marcus Shawcroft  <marcus.shawcroft@arm.com>
189         * testsuite/20_util/shared_ptr/cons/58659.cc: Use __builtin_abort().
191 2013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
193         * testsuite/*: Remove stray semi-colons after function definitions.
195 2013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
197         PR libstdc++/58659
198         * include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
199         Delegate to constructor taking allocator.
200         (__shared_count::_S_create_from_up): Inline into ...
201         (__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
202         std::conditional instead of constrained overloads. Allocate memory
203         using the allocator type that will be used for deallocation.
204         * testsuite/20_util/shared_ptr/cons/58659.cc: New.
205         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
207 2013-10-08  Tim Shen  <timshen91@gmail.com>
209         * include/bits/regex_executor.h: Add _TodoList class.
210         * include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
211         _M_match_stack and _M_stack to make everything faster. Break if
212         _M_stack is empty, to reduce unnecessary idling.
213         * testsuite/performance/28_regex/split.cc: New.
215 2013-10-06  Tim Shen  <timshen91@gmail.com>
217         * include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
218         Fix compile error.
219         * include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
221 2013-10-06  Tim Shen  <timshen91@gmail.com>
223         * include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
224         regex_search<>): New abstract function for regex_match and regex_search.
225         * include/bits/regex.tcc (__regex_algo_impl<>): Implement.
226         * include/bits/regex_executor.h
227         (_Executor<>::_M_lookahead,
228          _DFSExecutor<>::_M_clone,
229          _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
230         use.
231         * include/bits/regex_executor.tcc (__get_executor<>): Update the
232         definition to support __policy.
233         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
234         *_debug.
235         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
236         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
237         * testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
238         Same.
239         * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
240         Same.
241         * testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
242         Same.
243         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
244         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
245         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
246         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
247         Same.
248         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
249         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
250         Same.
251         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
252         Same.
253         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
254         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
255         Same.
256         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
257         Same.
258         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
259         * testsuite/28_regex/algorithms/regex_match/extended/
260         string_bracket_01.cc: Same.
261         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
262         Same.
263         * testsuite/28_regex/algorithms/regex_match/extended/
264         string_questionmark.cc: Same.
265         * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
266         Same.
267         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
268         Same.
269         * testsuite/28_regex/algorithms/regex_match/extended/
270         string_dispatch_01.cc: Same.
271         * testsuite/28_regex/algorithms/regex_match/extended/
272         string_range_00_03.cc: Same.
273         * testsuite/28_regex/algorithms/regex_match/extended/
274         string_range_01_03.cc: Same.
275         * testsuite/28_regex/algorithms/regex_match/extended/
276         string_range_02_03.cc: Same.
277         * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
278         Same.
279         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
280         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
281         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
282         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
283         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
284         * testsuite/28_regex/match_results/format.cc: Same.
285         * testsuite/util/testsuite_regex.h
286         (regex_match_debug<>, regex_search_debug<>): Implement.
288 2013-10-06  Oleg Endo  <olegendo@gcc.gnu.org>
289             Paolo Carlini  <paolo.carlini@oracle.com>
291         PR libstdc++/58625
292         * include/c_global/cmath (signbit): Use __builtin_signbitf and
293         __builtin_signbitl.
295 2013-10-03  Tim Shen  <timshen91@gmail.com>
297         * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
298         backup variable initialization.
300 2013-10-03  John Woolverton  <jdwoolverton@gmail.com>
302         PR libstdc++/58604
303         * include/std/vector: Fix garbled line in HP Copyright.
305 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
307         * libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
308         * libsupc++/del_opnt.cc (free): Only declare if freestanding.
309         (operator delete): Qualify free with std::.
311 2013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
312             Daniel Krugler  <daniel.kruegler@gmail.com>
314         PR libstdc++/58569
315         * include/std/functional (function::_CheckResult): Move to namespace
316         scope and rename to __check_func_return_type.
317         * testsuite/20_util/function/58569.cc: New.
319 2013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
321         PR libstdc++/58594
322         * include/bits/shared_ptr_base.h
323         (_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
324         * testsuite/20_util/shared_ptr/creation/58594.cc: New.
326 2013-10-02  Tim Shen  <timshen91@gmail.com>
328         * include/bits/regex_compiler.h
329         (_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly.
330         * include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()):
331         Add _M_equiv_set support.
332         * testsuite/28_regex/algorithms/regex_match/extended/
333         cstring_bracket_01.cc: Add new "[[=a=]]" testcase.
335 2013-10-01  Tim Shen  <timshen91@gmail.com>
337         * doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to
338         "is not correctly implemented".
340 2013-10-01  Tim Shen  <timshen91@gmail.com>
342         * doc/xml/manual/status_cxx2011.xml: Update regex status.
343         * include/bits/regex.h (match_results<>::begin,
344         match_results<>::cbegin, match_results<>::end, match_results<>::cend):
345         [28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2).
347 2013-10-01  François Dumont  <fdumont@gcc.gnu.org>
349         * include/parallel/algobase.h (mismatch, equal): Provide parallel
350         version for N3671 overloads.
352 2013-10-01  Paul Pluzhnikov  <ppluzhnikov@google.com>
354         * src/c++11/snprintf_lite.cc: Add missing
355         _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION
357 2013-10-01  Joern Rennecke  <joern.rennecke@embecosm.com>
359         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for
360         _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions.
361         * configure: Regenerate.
363 2013-10-01  Tim Shen  <timshen91@gmail.com>
365         PR libstdc++/58576
366         * include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy)
367         (_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch.
368         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New.
370 2013-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
372         * include/parallel/algo.h (__find_switch): Use __binder2nd.
374 2013-09-30  Chris Jefferson  <chris@bubblescope.net>
376         PR libstdc++/58437
377         * include/bits/stl_algo.h (__move_median_first): Rename to
378         __move_median_to_first, change to take an addition argument.
379         (__unguarded_partition_pivot): Adjust.
380         * testsuite/performance/25_algorithms/sort.cc: New.
381         * testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
382         * testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
384 2013-09-28  François Dumont  <fdumont@gcc.gnu.org>
386         * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
387         inline.
388         (rotate_copy, stable_partition, partial_sort_copy): Likewise.
389         (lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
390         (includes, next_permutation, prev_permutation): Likewise.
391         (replace_copy, replace_copy_if, is_sorted_until): Likewise.
392         (minmax_element, is_permutation, adjacent_find): Likewise.
393         (count, count_if, search, search_n, merge): Likewise.
394         (set_intersection, set_difference): Likewise.
395         (set_symmetric_difference, min_element, max_element): Likewise.
396         * include/bits/stl_algobase.h (lower_bound): Likewise.
397         (lexicographical_compare, mismatch): Likewise.
399 2013-09-28  Tim Shen <timshen91@gmail.com>
401         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
402         Let ordinary char escaping in POSIX be valid.
403         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
404         change.
406 2013-09-27  François Dumont  <fdumont@gcc.gnu.org>
408         * include/bits/predefined_ops.h: New.
409         * include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
410         (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
411         algo duplication.
412         (__is_heap): Adapt.
413         (__make_heap): New.
414         (make_heap): Adapt to use latter.
415         (__sort_heap): New.
416         (sort_heap): Adapt to use latter.
417         * include/bits/algobase.h: Include <bits/predefined_ops.h>.
418         (__lexicographical_compare_impl): New.
419         (__lexicographical_compare<false>::__lc): Adapt to use latter.
420         (lexicographical_compare): Likewise.
421         (__lower_bound): New.
422         (lower_bound): Adapt to use latter.
423         (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
424         (__mismatch): New.
425         (mismatch): Use latter.
426         * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
427         <functional> include.
428         (__move_median_first, __find, __find_if, __find_if_not): Remove
429         algo duplication.
430         (__find_end): Likewise.
431         (__search_n): Rename into ...
432         (__search_n_aux): ... this.
433         (__search_n): Renew, use latter.
434         (search_n): Use latter.
435         (__search): New.
436         (search): Use latter.
437         (__find_end): Likewise.
438         (__remove_copy_if): New.
439         (remove_copy): Use latter.
440         (__adjacent_find): New.
441         (adjacent_find): Use latter.
442         (__unique): New.
443         (unique): Use latter.
444         (__unique_copy): Remove algo duplication.
445         (__stable_partition): New.
446         (stable_partition): Use latter.
447         (__heap_select): Remove algo duplication, use __make_heap.
448         (__partial_sort): New, use latter.
449         (partial_sort): Use latter.
450         (__partial_sort_copy): New.
451         (partial_sort_copy): Use latter.
452         (__unguarded_linear_insert, __insertion_sort): Remove algo
453         duplication.
454         (__unguarded_insertion_sort, __final_insertion_sort): Likewise.
455         (__unguarded_partition, __unguarded_partition_pivot): Likewise.
456         (__partial_sort): New.
457         (partial_sort): Use latter.
458         (__sort): New.
459         (sort): Use latter.
460         (lower_bound): Use __lower_bound.
461         (__upper_bound): New.
462         (upper_bound): Use latter.
463         (__equal_range): New.
464         (equal_range): Use latter.
465         (__move_merge_adaptive, __move_merge_adaptive_backward): Remove
466         algo duplication.
467         (__merge_adaptive, __merge_without_buffer): Likewise.
468         (__inplace_merge): New.
469         (inplace_merge): Use latter.
470         (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
471         algo duplication.
472         (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
473         (__inplace_stable_sort): Likewise.
474         (__include): New.
475         (includes): Use latter.
476         (__next_permutation): New.
477         (next_permutation): Use latter.
478         (__prev_permutation): New.
479         (prev_permutation): Use latter.
480         (__replace_copy_if): New.
481         (replace_copy): Use latter.
482         (__is_sorted_until): New.
483         (is_sorted_unitl): Use latter.
484         (__minmax_element): New.
485         (minmax_element): Use latter.
486         (__is_permutation): New.
487         (is_permutation): Use latter.
488         (__adjacent_find): New.
489         (adjacent_find): Use latter.
490         (__count_if): New.
491         (count): Use latter.
492         (count_if): Likewise.
493         (__merge): New.
494         (merge): Use latter.
495         (__stable_sort): New.
496         (stable_sort): Use latter.
497         (__set_union): New.
498         (set_union): Use latter.
499         (__set_intersection): New.
500         (set_intersection): Use latter.
501         (__set_difference): New.
502         (set_difference): Use latter.
503         (__set_symmetric_difference): New.
504         (set_symmetric_difference): Use latter.
505         (__min_element): New.
506         (min_element): Use latter.
507         (__max_element): New.
508         (max_element): Use latter.
509         * include/Makefile.am: Add predefined_ops.h.
510         * include/Makefile.in: Regenerate.
511         * include/parallel/algobase.h (equal, mismatch): Add overloads
512         from N3671.
513         * testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
514         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
515         * testsuite/25_algorithms/find/vectorbool.cc: Likewise.
516         * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
517         * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
518         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
519         * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
520         * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
522 2013-09-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
524         PR libstdc++/57465
525         * include/std/functional
526         (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
527         for pointers.
528         * testsuite/20_util/function/cons/57465.cc: New.
530 2013-09-26  Tim Shen  <timshen91@gmail.com>
532         * regex_error.h: Remove _S_error_last to follow the standard.
533         * regex_scanner.tcc:
534         (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
535         error_badbrace.
536         (_Scanner<>::_M_eat_escape_posix): Extended doesn't support
537         back-reference.
538         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
539         Move here from ../../extended.
540         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
541         Likewise.
543 2013-09-25  Marc Glisse  <marc.glisse@inria.fr>
545         PR libstdc++/58338
546         * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
547         Mark as noexcept.
548         (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
549         operator++, operator==, operator!=, _M_next]: Likewise.
550         (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
551         operator->, operator++, operator==, operator!=, _M_next]: Likewise.
552         (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
553         operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
554         Likewise.
555         * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
556         _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
557         _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
558         const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
559         const _Node_iterator_base&)): Likewise.
560         (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
561         Likewise.
562         (_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
563         operator++]: Likewise.
564         * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
565         operator=, operator*, operator->, operator++, operator--, operator[],
566         operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
567         Likewise.
568         (operator==(const _Safe_iterator&, const _Safe_iterator&),
569         operator!=(const _Safe_iterator&, const _Safe_iterator&),
570         operator<(const _Safe_iterator&, const _Safe_iterator&),
571         operator<=(const _Safe_iterator&, const _Safe_iterator&),
572         operator>(const _Safe_iterator&, const _Safe_iterator&),
573         operator>=(const _Safe_iterator&, const _Safe_iterator&),
574         operator-(const _Safe_iterator&, const _Safe_iterator&),
575         operator+(difference_type, const _Safe_iterator&)): Likewise.
576         * include/profile/iterator_tracker.h (__iterator_tracker)
577         [__iterator_tracker, base, operator _Iterator, operator->, operator++,
578         operator--, operator=, operator*, operator[], operator+=, operator+,
579         operator-=, operator-]: Likewise.
580         (operator==(const __iterator_tracker&, const __iterator_tracker&),
581         operator!=(const __iterator_tracker&, const __iterator_tracker&),
582         operator<(const __iterator_tracker&, const __iterator_tracker&),
583         operator<=(const __iterator_tracker&, const __iterator_tracker&),
584         operator>(const __iterator_tracker&, const __iterator_tracker&),
585         operator>=(const __iterator_tracker&, const __iterator_tracker&),
586         operator-(const __iterator_tracker&, const __iterator_tracker&),
587         operator+(difference_type, const __iterator_tracker&)): Likewise.
589 2013-09-24  Marc Glisse  <marc.glisse@inria.fr>
591         PR libstdc++/58338
592         PR libstdc++/56166
593         * include/bits/basic_string.h (basic_string)
594         [basic_string(basic_string&&)]: Make the noexcept conditional.
595         [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
596         [begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
597         [pop_back]: Comment on the lack of noexcept.
598         * include/debug/string (basic_string) [basic_string(const _Allocator&),
599         basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
600         operator[](size_type), pop_back]: Comment out noexcept, until vstring
601         replaces basic_string.
603 2013-09-24  Tim Shen  <timshen91@gmail.com>
605         * include/Makefile.am: Add regex.tcc.
606         * include/Makefile.in: Regenerate.
607         * include/bits/regex.h: Remove definitions to regex.tcc.
608         * include/bits/regex.tcc: New.
609         (match_results::format, regex_replace): Implement;
610         * include/bits/regex_compiler.h: Move _M_flags to the top of class
611         member list, because other members' initialization depend on it.
612         * include/bits/regex_compiler.tcc
613         (_Compiler<>::_Compiler): Adjust member initializations.
614         (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
615         * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
616         In the future, all regex classes may refactor to *Impl style.
617         * include/bits/regex_executor.tcc (_Executor::_M_set_results):
618         Merge identical code from _*Executor classes.
619         * testsuite/28_regex/algorithms/regex_match/extended/
620         string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
621         caller for new __get_executors interface.
622         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
623         New.
624         * testsuite/28_regex/match_results/format.cc: New.
625         * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
626         testcase.
627         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
629 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
631         * src/c++11/snprintf_lite.cc (__concat_size_t): Use
632         unsigned long long conditionally.
634 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
636         * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
637         std::__int_to_char<unsigned long long>()
639 2013-09-21  Paul Pluzhnikov  <ppluzhnikov@google.com>
641         * include/bits/functexcept.h (__throw_out_of_range_fmt): New.
642         * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
643         * src/c++11/snprintf_lite.cc: New.
644         * src/c++11/Makefile.am: Add snprintf_lite.cc.
645         * src/c++11/Makefile.in: Regenerate.
646         * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
647         * include/std/array (at): Use __throw_out_of_range_fmt.
648         * include/debug/array (at): Likewise.
649         * include/profile/array (at): Likewise.
650         * include/std/bitset (_M_check_initial_position, _M_check): New.
651         (bitset::bitset): Use _M_check_initial_position.
652         (set, reset, flip, test): Use _M_check.
653         * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
654         * include/bits/stl_vector.h (_M_range_check): Likewise.
655         * include/bits/stl_bvector.h (_M_range_check): Likewise.
656         * include/bits/stl_deque.h (_M_range_check): Likewise.
657         * include/bits/basic_string.h (_M_check, at): Likewise.
658         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
659         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
660         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
661         Likewise.
662         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
663         Likewise.
664         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
665         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
666         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
667         Likewise.
668         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
669         Likewise.
670         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
671         * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
672         Likewise.
673         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
674         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
675         * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
677 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
679         PR testsuite/57605
680         * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
681         -fdiagnostics-color=never to cxxflags.
683 2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
685         PR libstdc++/58338
686         * include/bits/allocator.h (__alloc_swap::_S_do_it,
687         __shrink_to_fit_aux::_S_do_it): Mark as noexcept.
688         * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
689         _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
690         _M_set_length_and_sharable, _M_dispose]: Likewise.
691         (basic_string::_Alloc_hider::_Alloc_hider): Likewise.
692         (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
693         _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
694         _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
695         Likewise.
696         [clear]: Link to PR 56166.
697         [swap]: Link to PR 58265.
698         * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
699         _Deque_iterator, _M_const_cast, operator*, operator->, operator++,
700         operator--, operator+=, operator+, operator-=, operator-, operator[],
701         _M_set_node]: Mark as noexcept.
702         (operator==(const _Deque_iterator&, const _Deque_iterator&),
703         operator!=(const _Deque_iterator&, const _Deque_iterator&),
704         operator<(const _Deque_iterator&, const _Deque_iterator&),
705         operator>(const _Deque_iterator&, const _Deque_iterator&),
706         operator<=(const _Deque_iterator&, const _Deque_iterator&),
707         operator>=(const _Deque_iterator&, const _Deque_iterator&),
708         operator-(const _Deque_iterator&, const _Deque_iterator&),
709         operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
710         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
711         _M_initialize_map.
712         [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
713         Mark as noexcept.
714         (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
715         _Deque_impl(_Tp_alloc_type&&)]: Likewise.
716         (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
717         front, back, pop_front, pop_back, swap]: Likewise.
718         [deque(), deque(const allocator_type&)]: Merge.
719         * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
720         operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
721         * include/profile/deque (deque) [operator=(deque&&), operator[], front,
722         back, pop_front, pop_back, swap]: Likewise.
723         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
724         Adjust line number.
725         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
726         Likewise.
727         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
728         Likewise.
729         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
730         Likewise.
732 2013-09-20  Alan Modra  <amodra@gmail.com>
734         * configure: Regenerate.
736 2013-09-19  Marc Glisse  <marc.glisse@inria.fr>
738         PR libstdc++/58338
739         * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
740         Mark as noexcept.
741         (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
742         operator++, operator--, operator==, operator!=]: Likewise.
743         (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
744         operator*, operator->, operator++, operator--, operator==, operator!=]:
745         Likewise.
746         (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
747         operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
748         Likewise.
749         (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
750         _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
751         _S_maximum]: Likewise.
752         * include/debug/string (basic_string) [basic_string(const _Allocator&),
753         shrink_to_fit, operator[], pop_back]: Likewise.
754         * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
755         _M_ibegin, _M_iend, __versa_string(const _Alloc&),
756         operator=(__versa_string&&), shrink_to_fit, operator[], front,
757         back, assign(__versa_string&&), swap]: Likewise.
758         (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
759         Merge.
761 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
763         PR libstdc++/58338
764         * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
765         _M_const_cast, operator*, operator->, operator++, operator--,
766         operator[], operator+=, operator+, operator-=, operator-, base]:
767         Mark as noexcept.
768         (operator==(const __normal_iterator&, const __normal_iterator&),
769         operator!=(const __normal_iterator&, const __normal_iterator&),
770         operator<(const __normal_iterator&, const __normal_iterator&),
771         operator>(const __normal_iterator&, const __normal_iterator&),
772         operator<=(const __normal_iterator&, const __normal_iterator&),
773         operator>=(const __normal_iterator&, const __normal_iterator&),
774         operator-(const __normal_iterator&, const __normal_iterator&),
775         operator+(difference_type, const __normal_iterator&)): Likewise.
776         * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
777         Likewise.
778         (list::_M_check_equal_allocators): Abort instead of throwing.
779         * include/debug/array (array) [operator[], front, back]: Mark as
780         noexcept.
781         * include/profile/array (array) [operator[], front, back]: Likewise.
782         * include/std/array (array) [operator[], front, back]: Likewise.
783         * include/debug/list (list::splice): Likewise.
784         * include/profile/list (list::splice): Likewise.
785         * testsuite/23_containers/list/operations/5.cc: Remove file.
786         * testsuite/23_containers/list/operations/5.h: Likewise.
788 2013-09-18  Tim Shen  <timshen91@gmail.com>
790         * include/bits/regex.h: Add friend classes.
791         (match_results<>::position, regex_iterator<>::operator++):
792         Implement position specification in regex_iterator.
793         (regex_match<>, regex_search<>):
794         Move match_results initializations to these function. Remove `todo`.
795         * include/bits/regex_compiler.tcc:
796         (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
797         * include/bits/regex_constants.h:
798         Fix indentation. Change match_flag_type to enum type.
799         * include/bits/regex_executor.h:
800         Merge identical code to the base class _Executor.
801         Support flags in regex_constants.
802         * include/bits/regex_executor.tcc: Likewise.
803         * include/bits/regex_scanner.h: Add comments.
804         * include/bits/regex_scanner.tcc: Same.
805         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
806         Add a testcase.
807         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
808         * testsuite/28_regex/iterators/regex_iterator/char/
809         string_position_01.cc: Remove `xfail`.
810         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
811         Remove `xfail` and make the case really work.
813 2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
815         * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
817 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
819         PR libstdc++/58338
820         * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
821         noexcept.
822         * include/bits/stl_list.h (_List_iterator) [_List_iterator,
823         _M_const_cast, operator*, operator->, operator++, operator--,
824         operator==, operator!=]: Likewise.
825         (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
826         operator->, operator++, operator--, operator==, operator!=]: Likewise.
827         (operator==(const _List_iterator&, const _List_const_iterator&),
828         operator!=(const _List_iterator&, const _List_const_iterator&)):
829         Likewise.
830         (_List_impl) [_List_impl(const _Node_alloc_type&),
831         _List_impl(_Node_alloc_type&&)]: Likewise.
832         (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
833         _List_base(_List_base&&), _M_clear, _M_init]: Likewise.
834         (list) [list(), list(const allocator_type&)]: Merge.
835         (list) [list(const allocator_type&), front, back, pop_front, pop_back,
836         erase, _M_erase]: Mark as noexcept.
837         * include/debug/list (list) [list(const _Allocator&), front, back,
838         pop_front, pop_back, _M_erase, erase]: Likewise.
839         * include/profile/list (list) [list(const _Allocator&), front, back,
840         pop_front, pop_back, erase]: Likewise.
841         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
842         Adjust line number.
843         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
844         Likewise.
845         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
846         Likewise.
847         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
848         Likewise.
850 2013-09-17  Marc Glisse  <marc.glisse@inria.fr>
852         PR libstdc++/58338
853         * include/bits/stl_vector.h (vector::vector(),
854         vector::vector(const allocator_type&)): Merge.
855         (_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
856         _Vector_impl::_Vector_impl(_Tp_alloc_type&&),
857         _Vector_impl::_M_swap_data,
858         _Vector_base::_Vector_base(const allocator_type&),
859         _Vector_base::_Vector_base(allocator_type&&),
860         _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
861         vector::vector(const allocator_type&), vector::operator[],
862         vector::operator[] const, vector::front, vector::front const,
863         vector::back, vector::back const, vector::pop_back,
864         vector::_M_erase_at_end): Mark as noexcept.
865         * include/debug/vector (vector::vector(const _Allocator&),
866         vector::operator[], vector::operator[] const, vector::front,
867         vector::front const, vector::back, vector::back const, vector::pop_back,
868         _M_requires_reallocation, _M_update_guaranteed_capacity,
869         _M_invalidate_after_nth): Mark as noexcept.
870         * include/profile/vector (vector::vector(const _Allocator&),
871         vector::operator[], vector::operator[] const, vector::front,
872         vector::front const, vector::back, vector::back const): Mark as
873         noexcept.
874         (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
875         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
876         Adjust line number.
877         * testsuite/23_containers/vector/requirements/dr438/
878         constructor_1_neg.cc: Likewise.
879         * testsuite/23_containers/vector/requirements/dr438/
880         constructor_2_neg.cc: Likewise.
881         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
882         Likewise.
884 2013-09-14  Tim Shen  <timshen91@gmail.com>
886         * include/bits/regex.h (regex_match<>, regex_search<>):
887         Change regex_executor caller. Now use their return value instead
888         of checking __m[0].matched to find out if it's successful.
889         (regex_search<>): Move the search logic to regex_executor.
890         * include/bits/regex_automaton.h: Add some new _Opcode. Refactor
891         _NFA::_M_insert_*.
892         * include/bits/regex_automaton.tcc: Add DEBUG dump for new
893         _Opcode. Refactor _NFA::_M_insert_*.
894         * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
895         Use make_shared instead of construct by hand.
896         * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
897         * include/bits/regex_constants.h: Fix indentation and line breaking.
898         * include/bits/regex_executor.h: Add _ResultsEntry to support
899         greedy/ungreedy mode. Move regex_search logic here.
900         * include/bits/regex_executor.tcc: Implement assertions and
901         greedy/ungreedy matching.
902         * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
903         * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
904         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
905         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
906         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
907         Fix comment.
909 2013-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
911         PR libstdc++/58415
912         * include/ext/sso_string_base.h (__sso_string_base<>::
913         __sso_string_base(__sso_string_base&&)): Fix thinkos about
914         _M_length vs _M_set_length.
915         * testsuite/ext/vstring/cons/58415-1.cc: New.
916         * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
918 2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>
920         PR libstdc++/58403
921         * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
922         operator+=, operator+, operator-=, operator-): Take the argument
923         by value.
924         * testsuite/24_iterators/normal_iterator/58403.cc: New.
926 2013-09-11  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
927             Chris Jefferson  <chris@bubblescope.net>
929         PR libstdc++/58358
930         * include/bits/stl_algo.h (search_n): Fix to guarantee a number
931         of comparisons <= number of elements in the range.
932         * testsuite/25_algorithms/search_n/58358.cc: New.
933         * testsuite/25_algorithms/search_n/iterator.cc: Extend.
935 2013-09-10  Ed Smith-Rowland  <3dw4rd@verizon.net>
937         * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
938         from char to wchar_t, literals from 'x' to L'x'.
940 2013-09-10  Kai Tietz  <ktietz@redhat.com>
942         PR libstdc++/54314
943         * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
944         like in gnu.ver.
946 2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
948         PR libstdc++/58341
949         * include/bits/stl_algobase.h (copy_backward): Fix documentation
950         per DR 1206.
952 2013-09-05  Tim Shen  <timshen91@gmail.com>
954         * include/bits/regex_automaton.h: Add dummy node type. Rewrite
955         _StateSeq.
956         * include/bits/regex_automaton.tcc: Implement them.
957         * include/bits/regex_compiler.h: Rewrite _Compiler to use new
958         _StateSeq interfaces.
959         * include/bits/regex_compiler.tcc: Implement them.
960         * include/bits/regex_scanner.h: Add word boundry assertion token.
961         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
962         Support word boundry.
963         * testsuite/28_regex/algorithms/regex_match/basic/
964         string_range_02_03.cc: Remove "xfail".
965         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
966         Likewise.
967         * testsuite/28_regex/algorithms/regex_match/extended/
968         string_range_02_03.cc: Likewise.
969         * testsuite/28_regex/algorithms/regex_match/extended/
970         cstring_questionmark.cc: Remove xfail and get correct length of
971         c-string.
972         * testsuite/28_regex/algorithms/regex_match/extended/
973         string_range_00_03.cc: Likewise.
974         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
975         New.
976         * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
977         New.
978         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
980 2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
982         PR libstdc++/58302
983         * include/bits/random.tcc (negative_binomial_distribution<>::
984         operator()(_UniformRandomNumberGenerator&, const param_type&)):
985         Fix typo in template argument.
986         * testsuite/26_numerics/random/negative_binomial_distribution/
987         operators/58302.cc: New.
989 2013-09-02  Tim Shen  <timshen91@gmail.com>
991         * regex_automaton.h: Rearrange _NFA's layout.
992         * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
993         Rearrange _BracketMatcher's layout.
994         (_BracketMatcher<>::_M_add_char): Use set instead of vector for
995         _M_char_set.
996         (_BracketMatcher<>::_M_add_collating_element): Likewise.
997         (_BracketMatcher<>::_M_make_range): Likewise.
998         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
999         appropriate constructors of matchers above.
1000         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
1001         New.
1002         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
1003         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
1004         New.
1005         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
1006         New.
1007         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
1008         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
1009         New.
1010         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
1012 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
1014         PR libstdc++/58148
1015         * include/debug/functions.h (__foreign_iterator_aux4): Use
1016         sequence const_pointer as common type to compare pointers. Add a
1017         fallback overload in case pointers cannot be cast to sequence
1018         const_pointer.
1019         * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
1021 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
1023         PR libstdc++/58191
1024         * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
1025         __gnu_debug::__base calls on iterators passed to internal debug
1026         check.
1027         (__glibcxx_check_partitioned_lower_pred): Likewise.
1028         (__glibcxx_check_partitioned_upper): Likewise.
1029         (__glibcxx_check_partitioned_upper_pred): Likewise.
1030         (__glibcxx_check_sorted): Likewise.
1031         (__glibcxx_check_sorted_pred): Likewise.
1032         (__glibcxx_check_sorted_set): Likewise.
1033         (__glibcxx_check_sorted_set_pred): Likewise.
1034         * include/debug/functions.h (__check_partitioned_lower):
1035         Remove code to detect safe iterators.
1036         (__check_partitioned_upper): Likewise.
1037         (__check_sorted): Likewise.
1039 2013-08-29  Tim Shen  <timshen91@gmail.com>
1041         * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
1042         (regex_iterator<>::regex_iterator): Return nullptr when regex_search
1043         failed.
1044         (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
1045         _M_result is(not isn't) nullptr.
1046         * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
1047         instead of by value.
1048         * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
1049         _M_traits to _DFSExecutor.
1050         * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
1051         _DFSExecutor too.
1052         * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
1053         New.
1054         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1055         wstring_02.cc: New.
1057 2013-08-26  Tim Shen  <timshen91@gmail.com>
1059         * include/Makefile.am: Add regex_scanner.{h,tcc}.
1060         * include/Makefile.in: Regenerate.
1061         * include/bits/regex.h (match_search): Handle the `__first == __last`
1062         situation correctly.
1063         * include/bits/regex_compiler.h: Move _Scanner...
1064         * include/bits/regex_scanner.h: ...to here. New.
1065         * include/bits/regex_compiler.tcc: Move _Scanner...
1066         * include/bits/regex_scanner.tcc: ...to here, too. New.
1067         * include/bits/regex_executor.tcc: Use value instead of reference for
1068         submatch.
1069         * include/std/regex: Add regex_scanner.h
1070         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
1071         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
1072         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
1073         * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
1074         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
1076 2013-08-22  Tim Shen  <timshen91@gmail.com>
1078         * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
1079         * include/bits/regex_automaton.h: Same.
1080         * include/bits/regex_automaton.tcc: Same.
1081         * include/bits/regex_compiler.h: Same.
1082         * include/bits/regex_compiler.tcc: Same.
1083         * include/bits/regex_constants.h: Same.
1084         * include/bits/regex_executor.h: Same.
1085         * include/bits/regex_executor.tcc: Same.
1087 2013-08-22  Tim Shen  <timshen91@gmail.com>
1089         * include/bits/regex.h: Executor caller.
1090         * include/bits/regex_executor.h: Fix empty grouping problem.
1091         * include/bits/regex_executor.tcc: Same.
1092         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
1093           New.
1095 2013-08-20  Phil Muldoon  <pmuldoon@redhat.com>
1097         PR libstdc++/53477
1098         http://sourceware.org/bugzilla/show_bug.cgi?id=15195
1100         * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
1101         is a reference, fetch referenced value.
1102         (RxPrinter.invoke): Ditto.
1103         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
1104         flag. Add referenced value tests.
1106 2013-08-20  Tim Shen  <timshen91@gmail.com>
1108         * include/bits/regex_constants.h: Add underlying `unsigned int` for
1109           enum syntax_option_type.
1111 2013-08-18  Tim Shen  <timshen91@gmail.com>
1113         * include/bits/regex_automaton.h: _S_opcode_backref.
1114         * include/bits/regex_automaton.tcc: Backref automaton support.
1115         * include/bits/regex_compiler.tcc: Parsing support.
1116         * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
1117         * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
1118         * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
1120 2013-08-16  Tim Shen  <timshen91@gmail.com>
1122         * include/bits/regex.h (regex_traits<>::transform_primary):
1123         Avoid past-the-end dereferences.
1125 2013-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
1127         PR libstdc++/58163
1128         * include/bits/basic_string.h (basic_string<>::operator[]): Fix
1129         _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
1130         * include/ext/vstring.h: Likewise.
1131         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
1132         New.
1133         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
1134         Likewise.
1135         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
1136         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
1138 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
1140         * src/c++98/compatibility.cc (_ZTIe): Use
1141         reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
1142         (_ZTIPe): Ditto.
1143         (ZTIPKe): Ditto.
1145 2013-08-09  Tim Shen  <timshen91@gmail.com>
1147         * include/bits/regex_constants.h: Change syntax_option_type to enum
1148         type.
1150 2013-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1152         * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
1154 2013-08-08  François Dumont  <fdumont@gcc.gnu.org>
1156         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
1157         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
1158         _Hashtable.
1159         (_Before_begin<>): Remove.
1160         * include/bits/hashtable.h (_Hashtable): Inherit from
1161         _Hashtable_alloc and adapt. Restore _M_before_begin field.
1162         * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
1163         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
1164         access to hashtable before begin.
1165         * testsuite/23_containers/unordered_set/
1166         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
1167         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1168         Likewise.
1170 2013-08-07  Tim Shen  <timshen91@gmail.com>
1172         * include/Makefile.am: Adjust to new files.
1173         * include/Makefile.in: Regenerate.
1174         * include/bits/regex.h: Adjust to new interfaces.
1175         * include/bits/regex_automaton.h: New.
1176         * include/bits/regex_automaton.tcc: New.
1177         * include/bits/regex_compiler.h: Adjust to new files.
1178         * include/bits/regex_compiler.tcc: New.
1179         * include/bits/regex_constants.h: Tail spaces.
1180         * include/bits/regex_error.h: Likewise.
1181         * include/bits/regex_executor.h: New.
1182         * include/bits/regex_executor.tcc: New.
1183         * include/std/regex: Adjust to new files.
1184         * testsuite/28_regex/algorithms/regex_match/extended/
1185         string_dispatch_01.cc: Adjust to new interfaces.
1187 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
1189         * include/ext/atomicity.h: Add #pragma GCC system_header.
1191 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
1193         PR libstdc++/58098
1194         * include/bits/random.h (cauchy_distribution<>::min,
1195         extreme_value_distribution<>::min, normal_distribution<>::min,
1196         student_t_distribution<>::min): Fix.
1197         * include/ext/random (normal_mv_distribution<>::min): Likewise.
1198         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
1199         Adjust.
1200         testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
1201         Likewise.
1202         * testsuite/26_numerics/random/extreme_value_distribution/cons/
1203         parms.cc: Likewise.
1204         testsuite/26_numerics/random/extreme_value_distribution/cons/
1205         default.cc: Likewise.
1206         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
1207         Likewise.
1208         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
1209         Likewise.
1210         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
1211         Likewise.
1212         * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
1213         Likewise.
1214         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
1215         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
1217         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
1218         Minor tweak.
1219         * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
1220         Likewise.
1222         * testsuite/ext/von_mises_distribution/*: Move to...
1223         * testsuite/ext/random/von_mises_distribution/*: ... here.
1224         * testsuite/ext/triangular_distribution/*: Move to...
1225         * testsuite/ext/random/triangular_distribution/*: ... here.
1227 2013-08-06  Caroline Tice  <cmtice@google.com>
1229         * fragment.am: Add XTEMPLATE_FLAGS.
1230         * configure.ac: Add definitions for --enable-vtable-verify.
1231         * acinclude.m4:  Add --enable-vtable-verify and
1232         --disable-vtable-verify; define --enable-vtable-verify; define
1233         VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
1234         * config/abi/pre/gnu.ver: Export symbols for vtable verification.
1235         * libsupc++/Makefile.am: Define vtv_sources and add it to
1236         libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
1237         * libsupc++/vtv_stubs.cc: New file.
1238         * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
1239         * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
1240         VTV_CXXLINKFLAGS to CXXLINK.
1241         * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
1242         to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
1243         * src/C++11/Makefile.am: Ditto.
1244         * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
1245         * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
1246         cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
1247         * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
1248         libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
1249         cxxvtvflags to cxx_final.
1250         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1251         -fvtable-verify=none to compiler flags.
1252         * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
1253         to compiler flags.
1254         * configure: Regenerated.
1255         * Makefile.in: Regenerated.
1256         * python/Makefile.in: Regenerated.
1257         * include/Makefile.in: Regenerated.
1258         * libsupc++/Makefile.in: Regenerated.
1259         * config.h.in: Regenerated.
1260         * po/Makefile.in: Regenerated.
1261         * src/Makefile.in: Regenerated.
1262         * src/c++98/Makefile.in: Regenerated.
1263         * src/c++11/Makefile.in: Regenerated.
1264         * doc/Makefile.in: Regenerated.
1265         * testsuite/Makefile.in: Regenerated.
1267 2013-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
1269         Revert the last commit.
1271 2013-08-06  François Dumont  <fdumont@gcc.gnu.org>
1273         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
1274         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
1275         _Hashtable.
1276         (_Before_begin<>): Remove.
1277         * include/bits/hashtable.h (_Hashtable): Inherit from
1278         _Hashtable_alloc and adapt. Restore _M_before_begin field.
1279         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
1280         access to hashtable before begin.
1281         * testsuite/23_containers/unordered_set/
1282         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
1283         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1284         Likewise.
1286 2013-08-03  Tim Shen  <timshen91@gmail.com>
1288         Implement bracket expression.
1289         * include/bits/regex.h: Remove constexpr from "|=", etc.
1290         * include/bits/regex_compiler.h: Parse bracket expression.
1291         * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
1292         _RangeMatcher).
1293         * include/bits/regex_nfa.tcc: Implement them.
1294         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1295         from regex_search to regex_match.
1296         * testsuite/28_regex/algorithms/regex_match/extended/
1297         cstring_bracket_01.cc: New.
1299 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
1301         * include/debug/functions.h (__foreign_iterator_aux4):
1302         Initialize __l and __ge.
1304 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
1306         PR libstdc++/58049
1307         * include/debug/functions.h: Include <bits/move.h>; minor formatting
1308         changes.
1309         (__foreign_iterator_aux4): Declare __l and __ge constexpr.
1310         * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
1311         Use __addressof.
1312         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
1313         operator->): Likewise.
1315 2013-08-01  François Dumont  <fdumont@gcc.gnu.org>
1317         PR libstdc++/57779
1318         * include/debug/formatter.h (_Debug_msg_id): Add
1319         __msg_insert_itself_range entry.
1320         * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
1321         New, indicate container types supporting self range insertion in
1322         GNU implementation.
1323         (__foreign_iterator): New, check if an iterator points to a given
1324         sequence.
1325         * include/debug/macros.h (__glibcxx_check_insert_range): Add check
1326         using __foreign_iterator.
1327         (__gibcxx_check_insert_range_after): Likewise.
1328         * include/debug/string (_Insert_range_from_self_is_safe<>):
1329         Partially specialized to mark __gnu_debug::basic_string<> as
1330         supporting self range insert.
1331         * include/debug/list (_Insert_range_from_self_is_safe<>):
1332         Partially specialized to mark std::list as supporting self range
1333         insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
1334         * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
1335         Likewise.
1336         * src/c++11/debug.cc (_S_debug_messages): Add
1337         __msg_insert_itself_range_entry message.
1338         (_Error_formatter::_Parameter::_M_print_description): Display
1339         iterator sequence address rather than sequence address when the
1340         parameter type is an iterator.
1341         (_Error_formatter::_M_print_word): Enhance behavior when
1342         displaying a word with an appended '\n'.
1343         * testsuite/util/debug/checks.h (check_insert4<>): New.
1344         * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
1345         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
1346         * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
1347         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
1348         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
1349         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
1350         Likewise.
1352 2013-08-01  Fabien Chêne  <fabien@gcc.gnu.org>
1354         PR c++/54537
1355         * include/tr1/cmath: Remove pow(double,double) overload, remove a
1356         duplicated comment about DR 550. Add a comment to explain the
1357         issue.
1358         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
1360 2013-07-31  Tim Shen  <timshen91@gmail.com>
1362         Thompson matcher refactored. Fix grouping problem.
1363         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1364         * include/bits/regex_compiler.h: Tweak for auto switching.
1365         * include/bits/regex_grep_matcher.h: Class structure.
1366         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1367         matcher) refactoring.
1368         * include/bits/regex_nfa.h: Change _Results's interfaces.
1369         * include/std/regex: Includes <map> and <queue>.
1370         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1371         For both matchers.
1372         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1373         For both matchers.
1374         * testsuite/28_regex/algorithms/regex_match/extended/
1375         string_dispatch_01.cc: New.
1377 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
1379         PR libstdc++/56627
1380         * include/bits/stl_bvector.h: Use friend struct hash intead of
1381         friend class hash to work around useless warnings produced by
1382         some compilers.
1383         * include/std/bitset: Likewise.
1385 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
1387         * src/c++11/functexcept.cc: Do not include the whole <regex>.
1388         * src/c++11/regex.cc: Likewise.
1390 2013-07-31  Tim Shen  <timshen91@gmail.com>
1392         Revert last commit.
1394 2013-07-31  Tim Shen  <timshen91@gmail.com>
1396         Thompson matcher refactored. Fix grouping problem.
1397         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1398         * include/bits/regex_compiler.h: Tweak for auto switching.
1399         * include/bits/regex_grep_matcher.h: Class structure.
1400         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1401         matcher) refactoring.
1402         * include/bits/regex_nfa.h: Change _Results's interfaces.
1403         * include/std/regex: Includes <map> and <queue>.
1404         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1405         For both matchers.
1406         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1407         For both matchers.
1408         * testsuite/28_regex/algorithms/regex_match/extended/
1409         string_dispatch_01.cc: New.
1411 2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
1413         Revert last commit.
1415 2013-07-30  Tim Shen  <timshen91@gmail.com>
1417         Thompson matcher refactored. Fix grouping problem.
1418         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1419         * include/bits/regex_compiler.h: Tweak for auto switching.
1420         * include/bits/regex_grep_matcher.h: Class structure.
1421         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1422         matcher) refactoring.
1423         * include/bits/regex_nfa.h: Change _Results's interfaces.
1424         * include/std/regex: Includes <map> and <queue>.
1425         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1426         For both matchers.
1427         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1428         For both matchers.
1429         * testsuite/28_regex/algorithms/regex_match/extended/
1430         string_dispatch_01.cc: New.
1432 2013-07-29  Nathan Froyd  <froydnj@gcc.gnu.org>
1434         * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
1435         Add call to __cmpexch_failure_order.
1436         * testsuite/util/testsuite_common_types.h
1437         (compare_exchange_order_lowering): New generator.
1438         * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
1439         New test.
1441 2013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
1443         * include/std/complex (pow(const complex<>&, int)): Enable in
1444         C++11 mode too.
1445         * testsuite/26_numerics/complex/dr844.cc: Adjust.
1446         * doc/xml/manual/intro.xml: Update.
1448 2013-07-25  Tim Shen  <timshen91@gmail.com>
1450         Add documents and comments.
1451         * include/bits/regex.h: Documents and comments.
1452         * include/bits/regex_grep_matcher.h: Likewise.
1453         * include/bits/regex_grep_matcher.tcc: Likewise.
1454         * testsuite/28_regex/iterators/regex_iterator/char/
1455         string_position_01.cc: New.
1457 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
1459         PR libstdc++/57976
1460         * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
1461         time_get::do_get.
1463 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
1465         * include/bits/random.h (random_device): Avoid using the FILE type.
1466         * include/std/random: Do not include <cstdio>.
1467         * src/c++11/random.cc: ... include it here.
1468         (random_device::_M_init, random_device::_M_fini,
1469         random_device::_M_getval): Cast back and forth void* and FILE*.
1471 2013-07-24  Tim Shen  <timshen91@gmail.com>
1473         Reimplment matcher using Depth-first search(backtracking).
1474         PR libstdc++/53622
1475         PR libstdc++/57173
1476         * include/bits/regex.h: regex_match() and regex_search().
1477         * include/bits/regex_cursor.h: Fix _M_set_pos().
1478         * include/bits/regex_grep_matcher.h: add _M_dfs_match().
1479         * include/bits/regex_grep_matcher.tcc: Implement it.
1480         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
1481         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
1482         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
1483         Remove xfail.
1485 2013-07-23  Tim Shen  <timshen91@gmail.com>
1487         Implement regex_iterator and regex_token_iterator.
1488         * include/bits/regex.h: regex_iterator and regex_token_iterator.
1489         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
1490         New.
1491         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
1492         New.
1493         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
1494         New.
1495         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1496         string_01.cc: New.
1498 2013-07-23  Paolo Carlini  <paolo.carlini@oracle.com>
1500         * include/std/random: Add back <cstdio> include.
1501         * src/c++11/random.cc: Don't include <cstdio> here.
1503 2013-07-22  Jason Merrill  <jason@redhat.com>
1505         PR libstdc++/57914
1506         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
1508 2013-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
1510         PR c++/57920
1511         * src/c++11/random.cc (random_device::_M_getval): If possible, use
1512         read instead of std::fread.
1513         * include/std/random: Do not include <cstdio> unnecessarily.
1515 2013-07-21  Tim Shen  <timshen91@gmail.com>
1517         Partially implement regex_search.
1518         * include/bits/regex.h: regex_search.
1519         * include/bits/regex_grep_matcher.h: _M_search_from_first.
1520         * include/bits/regex_grep_matcher.tcc: Implement it.
1521         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
1523 2013-07-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
1525         PR libstdc++/54352
1526         * include/std/condition_variable (condition_variable_any): Move into
1527         inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
1528         * src/c++11/condition_variable.cc (condition_variable_any): Move
1529         definitions to ...
1530         * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
1531         * src/Makefile.am: Add new source file.
1532         * src/Makefile.in: Regenerate.
1534 2013-07-09  Tim Shen  <timshen91@gmail.com>
1536         Implement class regex_traits.
1537         * include/bits/regex.h: Implement lookup_classname and
1538         lookup_collatename; modify isctype; partially implement
1539         transform_primary.
1540         * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
1541         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
1542         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
1543         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
1544         * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
1545         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
1546         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
1547         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
1549 2013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
1551         * doc/xml/manual/status_cxx2014.xml: Add links for papers.
1553 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
1555         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
1556         pattern.
1557         (_MoveReuseOrAllocNode): Remove.
1558         (_Insert_base): Take a functor defining how the node is generated.
1559         * include/bits/hashtable.h: Adapt.
1560         (operator=(initializer_list<value_type>)): Reuse node if any.
1561         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1562         Adjust dg-error line number.
1563         * testsuite/23_containers/unordered_set/
1564         not_default_constructible_hash_neg.cc: Likewise.
1566 2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
1568         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1569         Tweak, avoid potential undefined behavior.
1570         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1571         Likewise.
1572         * testsuite/23_containers/vector/bool/modifiers/insert/
1573         const_iterator.cc: Likewise.
1574         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1575         Likewise.
1577 2013-07-04  Veres Lajos  <vlajos@gmail.com>
1578             Jonathan Wakely  <jwakely.gcc@gmail.com>
1580         * config/locale/generic/codecvt_members.cc: Fix typo.
1581         * configure.host: Likewise.
1582         * doc/html/manual/policy_data_structures_design.html: Likewise.
1583         * doc/xml/manual/policy_data_structures.xml: Likewise.
1584         * include/bits/hashtable.h: Likewise.
1585         * include/bits/random.h: Likewise.
1586         * include/profile/impl/profiler_trace.h: Likewise.
1587         * testsuite/23_containers/deque/cons/2.cc: Likewise.
1588         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
1589         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
1590         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1592 2013-07-04  Ray Chason  <chasonr@newsguy.com>
1593             Paolo Carlini  <paolo.carlini@oracle.com>
1595         PR libstdc++/57808
1596         * include/bits/regex.h (regex_token_iterator<>::operator==,
1597         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
1598         regex_token_iterator<>::operator->): Declare const.
1600 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
1602         * include/bits/stl_list.h (list<>::insert(iterator,
1603         size_type, const value_type&), list<>::insert(iterator,
1604         initializer_list<>), list<>::insert(iterator, _InputIterator,
1605         _InputIterator), list<>::splice(iterator, list&&),
1606         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
1607         iterator), list<>::splice(iterator, list&, iterator),
1608         list<>::splice(iterator, list&&, iterator, iterator),
1609         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
1610         signatures to take const_iterator(s).
1611         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
1612         const value_type&), list<>::insert(const_iterator, _InputIterator,
1613         _InputIterator)): Define.
1614         * include/ext/vstring.h (__versa_string<>::insert(iterator,
1615         size_type, _CharT), __versa_string<>::insert(iterator,
1616         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
1617         std::initializer_list<>), __versa_string<>::replace(iterator,
1618         iterator, _InputIterator, _InputIterator), __versa_string<>::
1619         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
1620         signatures to take const_iterator(s).
1621         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
1622         * include/ext/vstring.tcc: Likewise.
1623         * include/debug/list: Adjust.
1624         * include/profile/list: Likewise.
1625         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
1626         New.
1627         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1628         Extend.
1629         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1630         Likewise.
1631         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1632         Likewise.
1633         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1634         Likewise.
1635         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1636         Likewise.
1638         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1639         Adjust dg-error line number.
1640         * testsuite/23_containers/list/requirements/dr438/
1641         constructor_1_neg.cc: Likewise.
1642         * testsuite/23_containers/list/requirements/dr438/
1643         constructor_2_neg.cc: Likewise.
1644         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1645         Likewise.
1647 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
1649         * include/bits/stl_deque.h (deque<>::insert(iterator,
1650         size_type, const value_type&), deque<>::insert(iterator,
1651         initializer_list<>), deque<>::insert(iterator, _InputIterator,
1652         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
1653         * include/bits/stl_vector.h: Likewise.
1654         * include/bits/stl_bvector.h: Likewise.
1655         * include/debug/deque: Adjust.
1656         * include/debug/vector: Likewise.
1657         * include/profile/deque: Likewise.
1658         * include/profile/vector: Likewise.
1659         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1660         Extend.
1661         * testsuite/23_containers/vector/bool/modifiers/insert/
1662         const_iterator.cc: Likewise.
1663         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1664         Likewise.
1666         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1667         Adjust dg-error line number.
1668         * testsuite/23_containers/deque/requirements/dr438/
1669         constructor_1_neg.cc: Likewise.
1670         * testsuite/23_containers/deque/requirements/dr438/
1671         constructor_2_neg.cc: Likewise.
1672         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1673         Likewise.
1674         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1675         Likewise.
1676         * testsuite/23_containers/vector/requirements/dr438/
1677         constructor_1_neg.cc: Likewise.
1678         * testsuite/23_containers/vector/requirements/dr438/
1679         constructor_2_neg.cc: Likewise.
1680         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1681         Likewise.
1683 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
1685         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
1686         insert methods.
1687         * include/bits/hashtable.h: Likewise.
1688         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
1689         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
1690         New.
1691         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1692         Adjust dg-error line number.
1693         * testsuite/23_containers/unordered_set/
1694         not_default_constructible_hash_neg.cc: Likewise.
1695         * doc/xml/manual/containers.xml: Document hinting in unordered
1696         containers.
1698 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
1700         * testsuite/21_strings/basic_string/operations/*: Move inside
1701         testsuite/21_strings/basic_string/operations/data/.
1702         * testsuite/21_strings/basic_string/compare/*: Move inside
1703         testsuite/21_strings/basic_string/operations/.
1704         * testsuite/21_strings/basic_string/find/*: Likewise.
1705         * testsuite/21_strings/basic_string/rfind/*: Likewise.
1706         * testsuite/21_strings/basic_string/substr/*: Likewise.
1708 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
1710         * testsuite/21_strings/basic_string/append/*: Move inside
1711         testsuite/21_strings/basic_string/modifiers/.
1712         * testsuite/21_strings/basic_string/assign/*: Likewise.
1713         * testsuite/21_strings/basic_string/insert/*: Likewise.
1714         * testsuite/21_strings/basic_string/replace/*: Likewise.
1715         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
1716         pop_back.cc: Rename to 1.cc.
1717         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
1718         pop_back.cc: Likewise.
1719         * testsuite/ext/vstring/assign/*: Move inside
1720         testsuite/ext/vstring/modifiers/.
1722 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
1724         * include/bits/stl_deque.h (deque<>::insert(iterator,
1725         const value_type&), deque<>::insert(iterator, value_type&&),
1726         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
1727         take a const_iterator.
1728         (deque<>::erase): Simplify.
1729         * include/bits/stl_list.h: Likewise.
1730         (_List_iterator<>::_M_const_cast): Add.
1731         * include/bits/stl_vector.h: Likewise.
1732         * include/bits/stl_bvector.h: Likewise.
1733         (_Bit_iterator::_M_const_cast): Add.
1734         * include/bits/deque.tcc: Adjust definitions.
1735         * include/bits/list.tcc: Likewise.
1736         * include/bits/vector.tcc: Likewise.
1737         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1738         Define trivial version in C++98 mode.
1739         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
1740         __versa_string<>::replace(iterator, iterator, const __versa_string&),
1741         __versa_string<>::replace(iterator, iterator, const _CharT*,
1742         size_type), __versa_string<>::replace(iterator, iterator,
1743         const _CharT*), __versa_string<>::replace(iterator, iterator,
1744         size_type, _CharT)): Adjust C++11 signatures to take a pair of
1745         const_iterators.
1746         * include/debug/deque: Adjust.
1747         * include/debug/list: Likewise.
1748         * include/debug/vector: Likewise.
1749         * include/profile/deque: Likewise.
1750         * include/profile/list: Likewise.
1751         * include/profile/vector: Likewise.
1752         (vector<>::emplace): Add.
1753         * testsuite/util/exception/safety.h: Update.
1754         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
1755         New.
1756         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1757         Likewise.
1758         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
1759         Likewise.
1760         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1761         Likewise.
1762         * testsuite/23_containers/vector/bool/modifiers/insert/
1763         const_iterator.cc: Likewise.
1764         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
1765         Likewise.
1766         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1767         Likewise.
1768         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1769         Likewise.
1770         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1771         Likewise.
1772         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1773         Likewise.
1774         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1775         Likewise.
1777         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
1778         ext/vstring/modifiers/erase/char/.
1779         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
1780         ext/vstring/modifiers/wchar_t/.
1781         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
1782         ext/vstring/modifiers/pop_back/char/.
1783         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
1784         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
1786         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1787         Adjust dg-error line number.
1788         * testsuite/23_containers/deque/requirements/dr438/
1789         constructor_1_neg.cc: Likewise.
1790         * testsuite/23_containers/deque/requirements/dr438/
1791         constructor_2_neg.cc: Likewise.
1792         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1793         Likewise.
1794         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1795         Likewise.
1796         * testsuite/23_containers/list/requirements/dr438/
1797         constructor_1_neg.cc: Likewise.
1798         * testsuite/23_containers/list/requirements/dr438/
1799         constructor_2_neg.cc: Likewise.
1800         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1801         Likewise.
1802         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1803         Likewise.
1804         * testsuite/23_containers/vector/requirements/dr438/
1805         constructor_1_neg.cc: Likewise.
1806         * testsuite/23_containers/vector/requirements/dr438/
1807         constructor_2_neg.cc: Likewise.
1808         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1809         Likewise.
1811 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
1813         Status page for C++2014 library features
1814         * doc/xml/faq.xml: Add link to new C++14 status page.
1815         * doc/xml/manual/intro.xml: Ditto.
1816         * doc/xml/manual/status_cxx2014.xml: New.
1818 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
1820         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
1821         spurious fails with check-debug.
1822         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
1823         Likewise.
1824         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
1825         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
1826         Likewise.
1828 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
1830         PR libstdc++/57704
1831         * include/bits/char_traits.h (char_traits<char>::lt): Implement
1832         LWG 467.
1833         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
1835 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1837         PR libstdc++/57691
1838         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
1839         declare per the letter of the C++ standard in terms of void.
1840         * include/c_std/cstdlib: Likewise.
1842 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
1844         PR libstdc++/57674
1845         * include/bits/random.h (binomial_distribution<>::_M_waiting):
1846         Add double parameter.
1847         * include/bits/random.tcc (binomial_distribution<>::operator()
1848         (_UniformRandomNumberGenerator&, const param_type&)): Pass
1849         __param._M_q to _M_waiting.
1850         (_M_waiting): Adjust.
1851         * testsuite/26_numerics/random/binomial_distribution/
1852         operators/values.cc: Add tests.
1854 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
1856         PR libstdc++/57666
1857         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
1858         Implement correctly C++11 26.6.2.3/1.
1859         * testsuite/26_numerics/valarray/dr630-3.C: New.
1861 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1863         PR libstdc++/57641
1864         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
1865         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
1866         to handle conversion between different clocks. Replace constrained
1867         __try_lock_for_impl overloads with conditional increment.
1868         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
1869         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
1871 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
1872             Chris Jefferson  <chris@bubblescope.net>
1874         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
1875         dispatch to traditional std::equal for random-access iterators.
1876         (__equal2_aux, __equal2): Remove.
1877         (__equal::equal): Remove unused overloads.
1878         * include/bits/stl_algo.h (is_permutation): Fix typos.
1880 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1882         * include/std/shared_mutex (shared_lock::operator=): Add missing
1883         return statement.
1885 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1887         PR libstdc++/57263
1888         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
1889         allocator's pointer type.
1890         * include/bits/hashtable.h (_Hashtable): Likewise.
1891         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
1892         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
1893         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
1894         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
1896 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1898         * include/std/shared_mutex: Implement N3659.
1899         * include/bits/c++14_warning.h: New.
1900         * include/Makefile.am: Add new headers.
1901         * include/Makefile.in: Regenerate.
1902         * testsuite/30_threads/shared_lock/cons/1.cc: New.
1903         * testsuite/30_threads/shared_lock/locking/2.cc: New.
1904         * testsuite/30_threads/shared_lock/cons/2.cc: New.
1905         * testsuite/30_threads/shared_lock/locking/3.cc: New.
1906         * testsuite/30_threads/shared_lock/cons/3.cc: New.
1907         * testsuite/30_threads/shared_lock/locking/4.cc: New.
1908         * testsuite/30_threads/shared_lock/cons/4.cc: New.
1909         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
1910         * testsuite/30_threads/shared_lock/cons/5.cc: New.
1911         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
1912         * testsuite/30_threads/shared_lock/cons/6.cc: New.
1913         * testsuite/30_threads/shared_lock/requirements/
1914         explicit_instantiation.cc: New.
1915         * testsuite/30_threads/shared_lock/locking/1.cc: New.
1916         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
1917         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
1918         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
1919         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
1920         * testsuite/30_threads/shared_mutex/requirements/
1921         standard_layout.cc: New.
1922         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
1923         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
1925 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
1927         PR libstdc++/57619
1928         * include/bits/unordered_map.h (unordered_map<>::insert,
1929         unordered_multimap<>::insert): Use std::forward, not std::move.
1930         * testsuite/23_containers/unordered_map/insert/57619.C: New.
1931         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1933 2013-06-14  Alan Modra  <amodra@gmail.com>
1935         * configure.host (abi_baseline_pair): Match powerpc64*.
1937 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
1939         * include/std/type_traits (is_function): Support ref-qualified
1940         functions.
1941         (is_copy_constructible, is_move_constructible, is_copy_assignable,
1942         is_move_assignable, is_nothrow_copy_constructible,
1943         is_nothrow_move_constructible, is_nothrow_copy_assignable,
1944         is_nothrow_move_assignable): Implement LWG 2196.
1945         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
1946         LWG 2101.
1947         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
1948         unused.
1949         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
1950         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
1951         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
1952         * testsuite/20_util/is_assignable/value.cc: Likewise.
1953         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1954         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
1955         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
1956         * testsuite/20_util/is_function/value.cc: Likewise.
1957         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
1958         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
1959         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
1960         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
1961         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
1962         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
1964         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1965         line number.
1966         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1967         Likewise.
1968         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1969         Likewise.
1971 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
1973         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
1974         __gnu_cxx::__airy_bi()): Remove.
1975         * testsuite/tr1/5_numerical_facilities/special_functions/
1976         10_cyl_bessel_k/airy.cc: Fix.
1978 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
1980         PR libstdc++/56430
1981         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
1982         from void function.
1983         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
1984         * testsuite/tr1/5_numerical_facilities/special_functions/
1985         10_cyl_bessel_k/airy.cc: New.
1987 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
1989         Fix library literals error involving namespace __detail.
1990         * include/std/chrono: Rename __detail to __select_type. Reformat.
1991         * include/bits/basic_string.h: Reformat.
1992         * testsuite/20_util/duration/literals/ns_detail.cc: New.
1994 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
1996         PR libstdc++/56019
1997         * include/c_global/cstddef (max_align_t): Add to namespace std.
1998         * include/c_std/cstddef: Likewise.
1999         * testsuite/18_support/max_align_t/requirements/1.cc: New.
2000         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
2002 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
2004         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
2005         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
2006         * include/bits/stl_multimap.h: Same.
2007         * include/bits/stl_multiset.h: Same.
2008         * include/bits/stl_set.h: Same.
2009         * include/bits/stl_tree.h: Same.
2010         * include/std/complex (real, imag): Use macro for abi_tag.
2012         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
2013         * testsuite/util/testsuite_containers.h (erase_external): New
2014         declarations.
2015         (erase_external_iterators): Same.
2016         (linkage_check_cxx98_cxx11_erase): Same.
2017         (linkage_check_cxx98_cxx11_erase_iterators): Same.
2018         * testsuite/util/testsuite_shared.cc: Define.
2019         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
2020         * testsuite/23_containers/map/modifiers/erase/
2021         dr130-linkage-check.cc: New.
2022         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
2023         * testsuite/23_containers/multimap/modifiers/erase/
2024         dr130-linkage-check.cc: New.
2025         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
2026         * testsuite/23_containers/multiset/modifiers/erase/
2027         dr130-linkage-check.cc: New.
2028         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
2029         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
2030         New.
2031         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
2033         * testsuite/23_containers/map/dr130.cc: Move...
2034         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
2035         * testsuite/23_containers/multimap/dr130.cc: Move ...
2036         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
2037         * testsuite/23_containers/multiset/dr130.cc: Move...
2038         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
2039         * testsuite/23_containers/set/dr130.cc: Move...
2040         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
2042 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2044         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
2045         handling of Linux-based x86 systems to cover all GNU systems.
2046         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
2047         * testsuite/18_support/pthread_guard.cc: Likewise.
2048         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2049         Likewise.
2050         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
2051         Likewise.
2052         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
2053         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
2054         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2055         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2056         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2057         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2058         * testsuite/23_containers/list/pthread1.cc: Likewise.
2059         * testsuite/23_containers/list/pthread5.cc: Likewise.
2060         * testsuite/23_containers/map/pthread6.cc: Likewise.
2061         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
2062         Likewise.
2063         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2064         Likewise.
2065         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2066         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2067         * testsuite/30_threads/async/42819.cc: Likewise.
2068         * testsuite/30_threads/async/49668.cc: Likewise.
2069         * testsuite/30_threads/async/54297.cc: Likewise.
2070         * testsuite/30_threads/async/any.cc: Likewise.
2071         * testsuite/30_threads/async/async.cc: Likewise.
2072         * testsuite/30_threads/async/launch.cc: Likewise.
2073         * testsuite/30_threads/async/sync.cc: Likewise.
2074         * testsuite/30_threads/call_once/39909.cc: Likewise.
2075         * testsuite/30_threads/call_once/49668.cc: Likewise.
2076         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2077         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
2078         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2079         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2080         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2081         * testsuite/30_threads/condition_variable/members/53841.cc:
2082         Likewise.
2083         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
2084         Likewise.
2085         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
2086         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
2087         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2088         * testsuite/30_threads/condition_variable_any/members/1.cc:
2089         Likewise.
2090         * testsuite/30_threads/condition_variable_any/members/2.cc:
2091         Likewise.
2092         * testsuite/30_threads/future/cons/move.cc: Likewise.
2093         * testsuite/30_threads/future/members/45133.cc: Likewise.
2094         * testsuite/30_threads/future/members/get.cc: Likewise.
2095         * testsuite/30_threads/future/members/get2.cc: Likewise.
2096         * testsuite/30_threads/future/members/share.cc: Likewise.
2097         * testsuite/30_threads/future/members/valid.cc: Likewise.
2098         * testsuite/30_threads/future/members/wait.cc: Likewise.
2099         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2100         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2101         * testsuite/30_threads/lock/1.cc: Likewise.
2102         * testsuite/30_threads/lock/2.cc: Likewise.
2103         * testsuite/30_threads/lock/3.cc: Likewise.
2104         * testsuite/30_threads/lock/4.cc: Likewise.
2105         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2106         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2107         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2108         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2109         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
2110         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2111         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2112         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2113         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
2114         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2115         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2116         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
2117         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
2118         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2119         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2120         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
2121         Likewise.
2122         * testsuite/30_threads/packaged_task/members/get_future.cc:
2123         Likewise.
2124         * testsuite/30_threads/packaged_task/members/get_future2.cc:
2125         Likewise.
2126         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2127         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
2128         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
2129         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
2130         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2131         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
2132         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2133         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2134         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2135         * testsuite/30_threads/promise/cons/1.cc: Likewise.
2136         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
2137         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2138         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2139         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2140         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
2141         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2142         * testsuite/30_threads/promise/members/set_exception2.cc:
2143         Likewise.
2144         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2145         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2146         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2147         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2148         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2149         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2150         Likewise.
2151         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2152         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
2153         Likewise.
2154         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
2155         Likewise.
2156         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2157         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2158         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2159         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2160         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2161         Likewise.
2162         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2163         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2164         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2165         Likewise.
2166         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
2167         Likewise.
2168         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
2169         Likewise.
2170         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
2171         Likewise.
2172         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2173         Likewise.
2174         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2175         Likewise.
2176         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2177         Likewise.
2178         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2179         Likewise.
2180         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2181         Likewise.
2182         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
2183         Likewise.
2184         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
2185         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2186         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2187         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2188         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2189         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
2190         * testsuite/30_threads/shared_future/members/wait_for.cc:
2191         Likewise.
2192         * testsuite/30_threads/shared_future/members/wait_until.cc:
2193         Likewise.
2194         * testsuite/30_threads/this_thread/1.cc: Likewise.
2195         * testsuite/30_threads/this_thread/2.cc: Likewise.
2196         * testsuite/30_threads/this_thread/3.cc: Likewise.
2197         * testsuite/30_threads/this_thread/4.cc: Likewise.
2198         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2199         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2200         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2201         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2202         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
2203         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2204         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2205         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2206         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2207         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2208         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2209         * testsuite/30_threads/thread/members/1.cc: Likewise.
2210         * testsuite/30_threads/thread/members/2.cc: Likewise.
2211         * testsuite/30_threads/thread/members/3.cc: Likewise.
2212         * testsuite/30_threads/thread/members/4.cc: Likewise.
2213         * testsuite/30_threads/thread/members/5.cc: Likewise.
2214         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
2215         Likewise.
2216         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
2217         * testsuite/30_threads/thread/native_handle/typesizes.cc:
2218         Likewise.
2219         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2220         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2221         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
2222         Likewise.
2223         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2224         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2225         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
2226         Likewise.
2227         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2228         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2229         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2230         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2231         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2232         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2233         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2234         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2235         * testsuite/30_threads/try_lock/1.cc: Likewise.
2236         * testsuite/30_threads/try_lock/2.cc: Likewise.
2237         * testsuite/30_threads/try_lock/3.cc: Likewise.
2238         * testsuite/30_threads/try_lock/4.cc: Likewise.
2239         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2240         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2241         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2242         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2243         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2244         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2245         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2246         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2247         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2248         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2249         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2250         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2251         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
2252         * testsuite/ext/profile/mh.cc: Likewise.
2253         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
2254         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
2255         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
2256         Likewise.
2257         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
2258         Likewise.
2259         * testsuite/util/testsuite_performance.h: Extend current handling
2260         of Linux-based systems to cover all glibc-based systems.
2262 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2264         * include/std/mutex (call_once): Remove parentheses to fix error in
2265         c++1y and gnu++1y mode.
2266         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
2267         thread to avoid undefined behaviour.
2269 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
2271         Simplify and clean up library literals.
2272         * include/std/chrono: Simplify namespace and versioning management.
2273         * include/bits/basic_string.h: Ditto.
2274         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
2275         * testsuite/20_util/duration/literals/values.cc: Ditto.
2276         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
2277         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
2279 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
2281         Implement N3654 - Quoted Strings Library Proposal
2282         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
2283         manipulators and supporting machinery in c++1y mode.
2284         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
2285         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
2287 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2289         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
2290         2162: Add noexcept.
2292 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2294         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
2295         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
2296         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
2297         * testsuite/25_algorithms/equal/2.cc: New.
2298         * testsuite/25_algorithms/equal/check_type2.cc: New.
2299         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
2300         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
2301         * testsuite/25_algorithms/mismatch/2.cc: New.
2302         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
2303         * testsuite/util/testsuite_iterators.h: Fix spelling.
2305 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2307         * include/std/type-traits (integral_constant::operator()): Implement
2308         N3545.
2309         * testsuite/20_util/integral_constant/call_operator.cc: New.
2310         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2311         line numbers.
2312         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2313         Likewise.
2314         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2315         Likewise.
2317 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
2319         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2321 2013-06-05  Tom Tromey  <tromey@redhat.com>
2323         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
2325 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
2327         PR c++/57419
2328         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
2330 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
2332         * include/std/chrono: Collapse redundant 'inline' from 'inline
2333         constexpr'.
2334         * include/std/tuple: Ditto.
2335         * include/bits/move.h: Ditto.
2337 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
2339         Implement N3642 - User-defined Literals for Standard Library Types
2340         * include/bits/parse_numbers.h: New.
2341         * include/std/chrono: Add duration literal operators.
2342         * include/bits/basic_string.h: Add string literal operators.
2343         * include/Makefile.in: Add parse_numbers.h.
2344         * include/Makefile.am: Ditto.
2345         * testsuite/20_util/duration/literals/values.cc: New.
2346         * testsuite/20_util/duration/literals/types.cc: New.
2347         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
2348         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
2349         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
2350         * testsuite/21_strings/basic_string/literals/values.cc: New.
2351         * testsuite/21_strings/basic_string/literals/types.cc: New.
2353 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2355         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
2356         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
2357         calling non-existent from_time_t.
2359 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2361         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2362         Regenerate.
2364 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
2366         * include/std/chrono: Wrap clocks in inline namespace _V2.
2367         * src/c++11/chrono.cc: Same.
2368         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
2369         file, with default configure macros selected.
2371         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
2372         namespace.
2373         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
2375         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2376         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2377         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2378         Regenerated.
2379         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2380         Regenerated.
2381         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2382         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2383         Regenerated.
2384         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2385         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2386         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2387         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2388         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2389         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2390         Regenerated.
2391         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2392         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2394 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2396         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
2397         (CLOCK_MONOTONIC): Define.
2399 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
2401         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
2402         overload.
2404         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
2406 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
2408         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
2409         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
2410         don't define system_clock::is_steady, system_clock::now() and
2411         steady_clock::is_steady.
2412         (std::chrono::system_clock::now()): If
2413         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
2414         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
2415         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
2416         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
2417         be non-empty.
2418         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
2419         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
2420         * src/c++11/compatibility-chrono.cc: New file.
2421         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
2422         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
2423         * testsuite/util/testsuite_abi.cc (check_version): Add
2424         GLIBCXX_3.4.20 version and make it the latest.
2425         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
2426         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
2427         @@GLIBCXX_3.4.20 instead.
2428         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2429         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2430         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2431         Regenerated.
2432         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2433         Regenerated.
2434         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2435         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2436         Regenerated.
2437         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2438         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2439         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2440         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2441         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2442         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2443         Regenerated.
2444         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2445         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2446         * config.h.in: Regenerated.
2447         * src/Makefile.in: Regenerated.
2448         * configure: Regenerated.
2450 2013-05-23  Matthias Klose  <doko@ubuntu.com>
2452         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2453         (ext_headers): Remove ${ext_host_headers}.
2454         (stamp-${host_alias}): Create ${host_builddir}/../ext.
2455         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2456         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2457         * include/Makefile.in: Regenerate.
2458         * include/ext/random: Include ext/opt_random.h.
2460 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2462         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
2463         enable features if target OS is known to support them.
2464         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
2465         * configure: Regenerate.
2467 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
2469         PR libstdc++/57336
2470         * include/std/functional (__invoke): Do not form function types with
2471         abstract return type.
2472         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
2474 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
2476         * include/std/tuple (get): Implement N3670.
2477         * include/std/utility (get): Likewise.
2478         * testsuite/20_util/pair/get.cc: Move to ...
2479         * testsuite/20_util/pair/astuple/get.cc: Here.
2480         * testsuite/20_util/pair/astuple/astuple.cc: New.
2481         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
2482         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
2483         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
2484         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
2485         * testsuite/20_util/pair/astuple/get_neg.cc: New.
2486         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
2487         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
2488         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
2490 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
2492         * Revert last commit.
2494 2013-05-19  Matthias Klose  <doko@ubuntu.com>
2496         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2497         (ext_headers): Remove ${ext_host_headers}.
2498         (stamp-${host_alias}): Create ${host_builddir}/../ext.
2499         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2500         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2501         * include/Makefile.in: Regenerate.
2503 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2505         * include/std/system_error (error_category::error_category()): LWG
2506         2145: Declare public and constexpr.
2507         * src/c++11/system_error.cc (error_category::error_category()): Move
2508         definition to ...
2509         * src/c++11/compatibility-c++0x.cc: Here.
2511 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2513         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
2515 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2517         * include/bits/unique_ptr.h (make_unique): Declare inline.
2518         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
2519         (default_delete, unique_ptr): Add doxygen comments.
2520         * include/bits/shared_ptr_base.h: Improve doxygen comments.
2521         * include/bits/shared_ptr.h: Likewise.
2522         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
2523         number.
2524         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
2526 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2528         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2530 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2532         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2534 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2536         * include/std/utility (exchange): Define.
2537         * testsuite/20_util/exchange/1.cc: New.
2539 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2541         * include/bits/unique_ptr.h (make_unique): Define.
2542         * testsuite/20_util/unique_ptr/creation/single.cc: New.
2543         * testsuite/20_util/unique_ptr/creation/array.cc: New.
2544         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
2546 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
2548         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
2549         rendering of std::tr1 unordered containers iterator.
2550         (StdHashtableIterator): New, render std unordered containers iterator.
2551         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
2553 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2555         * include/bits/basic_string.h (getline): Fix doxygen comments.
2557 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
2559         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2560         Use std::pointer_traits.
2562 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2564         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
2565         bad_array_new.cc.
2566         * libsupc++/Makefile.in: Regenerate.
2567         * libsupc++/bad_array_length.cc: Tweak.
2568         * libsupc++/bad_array_new.cc: Tweak.
2570 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
2572         PR libstdc++/54577
2573         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
2574         (_Deque_iterator<>::_M_const_cast): Add.
2575         (deque<>::_M_erase): Declare.
2576         * include/bits/deque.tcc: ... and define.
2577         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
2578         (_List_const_iterator<>::_M_const_cast): Add.
2579         * include/bits/list.tcc (erase (iterator)): Fix.
2580         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2581         Add; include <ext/cast.h>.
2582         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
2583         (vector<>::_M_erase): Declare.
2584         * include/bits/stl_bvector.h: Likewise.
2585         * include/bits/vector.tcc (vector<>::_M_erase): Define.
2586         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
2587         * include/debug/deque: Adjust.
2588         * include/debug/list: Likewise.
2589         * include/debug/vector: Likewise.
2590         * include/profile/deque: Likewise.
2591         * include/profile/list: Likewise.
2592         * include/profile/vector: Likewise.
2593         * testsuite/util/exception/safety.h (erase_base<deque>,
2594         erase_base<deque>, erase_base<vector>): Remove.
2595         (erase_base<__versa_string>): Update.
2596         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
2597         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
2598         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
2599         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
2600         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
2601         Likewise.
2602         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
2603         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2604         Adjust dg-error line numbers.
2605         * testsuite/23_containers/deque/requirements/dr438/
2606         constructor_1_neg.cc: Likewise.
2607         * testsuite/23_containers/deque/requirements/dr438/
2608         constructor_2_neg.cc: Likewise.
2609         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2610         Likewise.
2611         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2612         Likewise.
2613         * testsuite/23_containers/list/requirements/dr438/
2614         constructor_1_neg.cc: Likewise.
2615         * testsuite/23_containers/list/requirements/dr438/
2616         constructor_2_neg.cc: Likewise.
2617         * testsuite/23_containers/list/requirements/dr438/
2618         insert_neg.cc: Likewise.
2619         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2620         Likewise.
2621         * testsuite/23_containers/vector/requirements/dr438/
2622         constructor_1_neg.cc: Likewise.
2623         * testsuite/23_containers/vector/requirements/dr438/
2624         constructor_2_neg.cc: Likewise.
2625         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2626         Likewise.
2628 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
2630         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
2632 2013-05-08  Jason Merrill  <jason@redhat.com>
2634         Add std::bad_array_length (N3639)
2635         * libsupc++/new: Add std::bad_array_length.
2636         * libsupc++/bad_array_length.cc: New.
2637         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
2638         * libsupc++/Makefile.in: Build them.
2639         * config/abi/pre/gnu.ver: Add new symbols.
2640         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2642 2013-05-08  Andi Kleen  <ak@linux.intel.com>
2644         PR target/55947
2645         * libstdc++-v3/include/bits/atomic_base.h
2646         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
2647         (atomic_thread_fence, atomic_signal_fence, test_and_set,
2648         clear, store, load, exchange, compare_exchange_weak)
2649         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
2650         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
2652 2013-05-08  Jason Merrill  <jason@redhat.com>
2654         Add std::bad_array_new_length (N2932)
2655         * libsupc++/new: Add std::bad_array_new_length.
2656         * libsupc++/bad_array_new.cc: New.
2657         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
2658         * libsupc++/Makefile.in: Build them.
2659         * config/abi/pre/gnu.ver: Add new symbols.
2660         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2662 2013-05-08  Andoni Morales Alastruey  <ylatuya@gmail.com>
2664         PR libstdc++/57212
2665         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
2666         to __MINGW32__.
2667         * include/Makefile.in: Regenerated.
2669 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
2671         * include/profile/unordered_base.h: New.
2672         * include/Makefile.am: Add new profile header.
2673         * include/Makefile.in: Regenerate.
2674         * include/profile/impl/profiler.h
2675         (__profcxx_inefficient_hash_is_on): New macro.
2676         * include/profile/unordered_map (std::profile::unordered_map<>):
2677         Use new _Unordered_profile base class. Use default implementations
2678         for special functions.
2679         (std::profile::unordered_multimap<>): Likewise.
2680         * include/profile/unordered_set (std::profile::unordered_set<>):
2681         Likewise.
2682         (std::profile::unordered_multiset<>): Likewise.
2683         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
2684         MoveOnly equality operator signature.
2686 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
2688         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
2689         constexpr_data.cc: Move...
2690         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
2691         ... here.
2692         * testsuite/20_util/integral_constant/requirements/
2693         explicit_instantiation.cc: New.
2694         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
2695         Likewise.
2696         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
2697         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
2698         Likewise.
2699         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
2700         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
2702 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
2704         * include/std/type_traits (is_null_pointer): Add.
2705         (__is_nullptr_t): Implement in terms of the latter.
2706         (is_fundamental, is_scalar): Adjust.
2707         * testsuite/20_util/is_null_pointer/requirements/
2708         explicit_instantiation.cc: New.
2709         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
2710         Likewise.
2711         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
2712         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2713         line number.
2714         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2715         Likewise.
2716         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2717         Likewise.
2719 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
2721         * include/c_global/cstdio: Add comment about LWG 2249.
2722         * include/c_std/cstdio: Likewise.
2724 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2726         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
2727         comment.
2728         * include/std/mutex (__recursive_mutex_base): Likewise.
2730 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2732         PR libstdc++/51365
2733         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
2734         implement EBO safely.
2735         (_Sp_counted_base::_M_get_deleter): Add noexcept.
2736         (_Sp_counter_ptr): Use noexcept instead of comments.
2737         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
2738         (_Sp_counted_ptr_inplace): Likewise.
2739         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
2740         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
2741         custom allocator and test construction with custom allocator.
2742         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
2743         line number.
2745 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
2747         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
2748         dialect to -std=gnu++11.
2750 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
2752         * include/bits/hashtable_policy.h
2753         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
2754         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
2756 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
2758         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
2759         * include/c_std/cstdio (gets): Likewise.
2760         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
2762 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
2764         PR libstdc++/57065
2765         * include/debug/unordered_map (unordered_map, unordered_multimap):
2766         Fix default allocator type.
2767         * include/profile/unordered_map (unordered_map, unordered_multimap):
2768         Likewise.
2769         * include/bits/unordered_map.h: Fix comments.
2771 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
2773         PR libstdc++/56905
2774         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
2775         move implementation to make_exception_ptr.
2776         * include/std/future (_State_base::_M_break_promise): Replace
2777         copy_exception with make_exception_ptr.
2778         * testsuite/18_support/exception_ptr/move.cc: Likewise.
2779         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
2780         * testsuite/30_threads/future/members/get2.cc: Likewise.
2781         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2782         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2783         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2784         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2786 2013-04-22  Jason Merrill  <jason@redhat.com>
2788         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
2790         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
2791         substitution" lines.
2793         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
2794         function-cv-quals.
2795         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2796         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
2797         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
2799 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
2801         * include/bits/hashtable_policy.h: Add C++11 allocator support.
2802         * include/bits/hashtable.h: Likewise.
2803         * include/bits/unordered_set.h: Likewise.
2804         * include/bits/unordered_map.h: Likewise.
2805         * include/debug/unordered_set: Likewise.
2806         * include/debug/unordered_map: Likewise.
2807         * include/std/unordered_set: Remove bits/algobase.h
2808         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
2809         * include/std/unordered_map: Likewise.
2810         * include/ext/throw_allocator.h: Add checks on calls to allocator
2811         construct/destroy.
2812         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
2813         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
2814         * testsuite/util/regression/rand/priority_queue
2815         /container_rand_regression_test.tcc: Adapt.
2816         * testsuite/util/regression/rand/assoc
2817         /container_rand_regression_test.tcc: Likewise.
2818         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
2819         * testsuite/23_containers/unordered_set
2820         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
2821         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
2822         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
2823         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
2824         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
2825         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
2826         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
2827         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
2828         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
2829         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
2830         New.
2831         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
2832         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
2833         New.
2834         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
2835         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
2836         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
2837         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
2838         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
2839         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
2840         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
2841         New.
2842         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
2843         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
2844         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
2845         New.
2846         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
2847         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
2848         New.
2849         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
2850         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
2852 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2854         * include/std/type_traits (is_signed): Simplify.
2855         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2856         Adjust dg-error line numbers.
2857         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2858         Likewise.
2859         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2861 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2863         N3669
2864         * include/std/complex (complex<float>::real, complex<float>::imag,
2865         complex<double>::real, complex<double>::imag,
2866         complex<long double>::real, complex<long double>::imag): Declare
2867         as const member functions.
2868         * include/std/type_traits (integral_constant<>::operator value_type):
2869         Likewise.
2871 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2873         PR libstdc++/57010
2874         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
2875         * testsuite/25_algorithms/pop_heap/57010.cc: New.
2877 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
2879         * src/c++11/system_error.cc (generic_category_instance): Add
2880         initializer.
2881         (system_category_instance): Likewise.
2882         * src/c++11/future.cc (__fec): Likewise.
2884 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2886         * doc/xml/manual/extensions.xml: Fix anachronism.
2888 2013-04-09  Tom Tromey  <tromey@redhat.com>
2890         * configure, config.h.in: Rebuild.
2891         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
2892         sys/sdt.h.
2893         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
2895 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
2897         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2899 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
2901         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
2903 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2905         * include/Makefile.am: Add ext/aligned_buffer.h
2906         * include/Makefile.in: Regenerate.
2907         * include/ext/aligned_buffer.h: New.
2908         * include/std/future (_Result): Use __aligned_buffer.
2909         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
2910         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
2911         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
2912         number.
2914 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2916         * include/bits/forward_list.h: Only include required headers.
2917         (forward_list::reference): Define directly, not using __alloc_traits.
2918         (forward_list::const_reference): Likewise.
2920 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
2922         * include/std/functional (_Derives_from_unary_function): Remove.
2923         (_Derives_from_binary_function): Remove.
2924         * include/std/type_traits (__sfinae_types): Remove.
2925         (__is_assignable_helper): Adapt.
2926         (__is_convertible_helper): Adapt.
2927         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
2928         Remove several explicit instantiations of integral_constant.
2929         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
2930         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2931         Adapt dg-error line number.
2932         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2933         Likewise.
2934         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2935         * testsuite/20_util/bind/ref_neg.cc: Likewise.
2937 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2939         PR libstdc++/56841
2940         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
2941         get_terminate() accessors.
2942         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2943         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
2944         available.
2945         * libsupc++/new_handler.cc: Likewise.
2947 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2949         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
2951 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
2953         PR libstdc++/56834
2954         * include/debug/array (tuple_size, tuple_element): Do not declare.
2955         * include/profile/array: Likewise.
2956         * testsuite/23_containers/array/tuple_interface/
2957         tuple_element_debug_neg.cc: Adjust dg-error line number.
2959 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
2961         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
2962         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
2963         Define.
2964         (set_terminate(terminate_handler)): Set atomically.
2965         (set_unexpected(terminate_handler)): Likewise.
2966         * libsupc++/new (get_new_handler()): Declare.
2967         * libsupc++/new_handler.cc (get_new_handler()): Define.
2968         (set_new_handler(new_handler)): Set atomically.
2969         (__new_handler): Use internal linkage.
2970         * libsupc++/new_op.cc (operator new): Use get_new_handler().
2971         * libsupc++/new_opnt.cc (operator new): Likewise.
2972         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
2973         * configure: Regenerate.
2974         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
2975         * libsupc++/Makefile.in: Regenerate.
2976         * config/abi/pre/gnu.ver: Add new exports.
2977         * doc/xml/manual/status_cxx2011.xml: Update.
2978         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
2979         for handlers.
2980         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
2981         * testsuite/18_support/new_handler.cc: New.
2982         * testsuite/18_support/terminate_handler.cc: New.
2983         * testsuite/18_support/unexpected_handler.cc: New.
2985 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2987         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
2988         defer to general documentation on contributing to GCC.
2989         * doc/html/*: Regenerate.
2991 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
2993         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
2995         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
2996         Coding Standards.
2998         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
3000         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
3002         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
3004         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
3006         * doc/xml/manual/policy_data_structures: Remove direct link to
3007         IBM Haifa Research Labs.
3009         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
3010         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
3012         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
3013         papers.
3015         * doc/xml/manual/shared_ptr.xml: Use canonical address for
3016         www.boost.org.
3018 2013-03-27  Kai Tietz  <ktietz@redhat.com>
3020         * crossconfig.m4: Add support for cygwin x64 target.
3021         * configure: Regenerated.
3023 2013-03-25  Kai Tietz  <ktietz@redhat.com>
3025         * testsuite/18_support/50594.cc: For mingw-targets use only static
3026         libstdc++-version.
3027         * testsuite/19_diagnostics/error_category/operators/equal.cc
3028         * testsuite/19_diagnostics/error_code/cons/1.cc
3029         * testsuite/19_diagnostics/error_code/operators/bool.cc
3030         * testsuite/19_diagnostics/error_code/operators/equal.cc
3031         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
3032         * testsuite/19_diagnostics/error_condition/cons/1.cc
3033         * testsuite/19_diagnostics/error_condition/operators/bool.cc
3034         * testsuite/19_diagnostics/error_condition/operators/equal.cc
3035         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
3036         * testsuite/23_containers/set/requirements/exception/basic.cc
3037         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
3038         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
3040 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
3042         PR libstdc++/56170
3043         * include/ext/debug_allocator.h (debug_allocator): Add missing members
3044         to meet allocator requirements.
3045         * testsuite/ext/debug_allocator/56170.cc: New.
3047 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
3049         PR libstdc++/56678
3050         * include/std/chrono (__is_ratio): Uglify T.
3052 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
3054         PR libstdc++/55977 (partial, std::vector and std::deque bits)
3055         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
3056         _InputIterator, std::input_iterator_tag)): Use emplace_back.
3057         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
3058         _InputIterator, std::input_iterator_tag)): Likewise.
3059         * testsuite/23_containers/vector/cons/55977.cc: New.
3060         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
3061         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3062         Adjust dg-error line number.
3063         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3064         Likewise.
3066 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
3068         PR libstdc++/55979
3069         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
3070         _InputIterator, __false_type)): Use emplace_back.
3071         * testsuite/23_containers/list/cons/55979.cc: New.
3072         * testsuite/23_containers/list/modifiers/1.h: Adjust.
3073         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3074         Adjust dg-error line number.
3076 2013-03-16  Jason Merrill  <jason@redhat.com>
3078         PR c++/55017
3079         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
3081 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3083         PR libstdc++/56468
3084         * libsupc++/exception_ptr.h (type_info): Declare.
3086 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3088         PR libstdc++/56002
3089         * include/std/mutex (lock_guard, unique_lock, lock): Define without
3090         depending on _GLIBCXX_HAS_GTHREADS.
3091         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
3093 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3095         PR libstdc++/56492
3096         * include/std/future (__future_base::_Result): Add result_type
3097         typedef.
3098         (__future_base::_S_allocate_result): Overload for std::allocator.
3099         (__future_base::_Task_setter): Use _Result::result_type instead of
3100         deducing the type from the task.
3101         (__future_base::_Task_state): Store allocator to allow shared state
3102         to be reset.  Replace std::function with member of target object type
3103         accessed via ...
3104         (__future_base::_Task_state_base): New abstract base class.
3105         (__future_base::_Task_state_base::_M_run): New virtual function to
3106         invoke type-erased target object.
3107         (__future_base::_Task_state_base::_M_reset): New virtual function to
3108         create new shared_state using same target object and allocator.
3109         (__future_base::__create_task_state): Allocate a new _Task_state.
3110         (packaged_task::packaged_task): Use __create_task_state.
3111         (packaged_task::reset): Use _Task_state_base::_M_reset.
3112         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
3114 2013-03-15  Tom Tromey  <tromey@redhat.com>
3116         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
3117         (PROBE2): New macro.
3118         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
3119         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
3120         * configure.ac: Check for sys/sdt.h.
3121         * configure, config.h.in: Rebuild.
3123 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3125         PR libstdc++/56613
3126         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
3127         allocator_traits instead of calling construct directly.
3128         * testsuite/23_containers/map/56613.cc: New.
3130 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
3132         * doc/html/*: Regenerate.
3134 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
3136         PR libstdc++/56609
3137         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
3138         * testsuite/20_util/is_fundamental/value.cc: Extend.
3139         * testsuite/20_util/is_compound/value.cc: Likewise.
3141 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
3143         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
3144         -Wunused warnings.
3146 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3148         * include/bits/memoryfwd.h: New. Centralize forward declarations.
3149         * include/bits/algorithmfwd.h: Consistent comments.
3150         * include/bits/localefwd.h: Same.
3151         * include/ext/vstring_fwd.h: Same.
3152         * include/parallel/algorithmfwd.h: Same.
3153         * include/parallel/numericfwd.h: Same.
3154         * include/std/iosfwd: Same.
3156         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
3157         forward decl.
3158         * include/ext/alloc_traits.h: Remove allocator forward decl.
3159         * include/bits/stl_construct.h: Same.
3160         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
3161         forward decl. Consistent comments.
3163         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
3165         * include/Makefile.am (bits_headers): Add memoryfwd.h.
3166         * include/Makefile.in: Regenerate.
3167         * configure: Same.
3169 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
3171         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
3172         Reset pointers after deallocation when memory can be reused.
3173         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
3174         elements to really challenge C++11 allocator integration.
3175         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
3176         * testsuite/23_containers/vector/allocator/copy_assign.cc:
3177         Likewise.
3178         * testsuite/23_containers/vector/allocator/move_assign.cc:
3179         Likewise.
3180         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
3181         swap vector back before checks on memory/personality mapping are
3182         performed.
3183         * testsuite/23_containers/forward_list/allocator/minimal.cc:
3184         Insert element to really challenge C++11 allocator integration.
3185         * testsuite/23_containers/forward_list/allocator/copy.cc:
3186         Likewise.
3187         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
3188         Likewise.
3189         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
3190         Likewise.
3191         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
3192         and swap forward_list back before checks on memory/personality
3193         mapping are performed.
3195 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
3197         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3198         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3199         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3200         Likewise.
3201         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3202         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3203         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3204         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3205         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3206         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3208 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3210         * scripts/extract_symvers.pl: Omit symbols bound to base
3211         versions.
3212         * scripts/extract_symvers.in: Likewise.
3213         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
3214         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
3215         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3216         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3217         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3219 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
3221         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
3222         Optimize generation function by pulling computation of __r into the
3223         constructor for param_type.  Also compare _M_mu in operator==.
3224         Fix comment.
3226 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
3228         Add triangular and von Mises distributions.
3229         * include/ext/random: Include <ext/cmath>.
3230         Add __gnu_cxx::triangular_distribution<> and
3231         __gnu_cxx::von_mises_distribution<> classes.
3232         * include/ext/random.tcc: Add out-of-line functions for
3233         __gnu_cxx::triangular_distribution<> and
3234         __gnu_cxx::von_mises_distribution<>.
3235         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
3236         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
3237         * testsuite/ext/triangular_distribution/operators/serialize.cc:
3238         New file.
3239         * testsuite/ext/triangular_distribution/operators/equal.cc:
3240         New file.
3241         * testsuite/ext/triangular_distribution/operators/inequal.cc:
3242         New file.
3243         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
3244         New file.
3245         * testsuite/ext/triangular_distribution/requirements/
3246         explicit_instantiation/1.cc: New file.
3247         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
3248         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
3249         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
3250         New file.
3251         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
3252         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
3253         New file.
3254         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
3255         New file.
3256         * testsuite/ext/von_mises_distribution/requirements/
3257         explicit_instantiation/1.cc: New file.
3259         Add math constants.
3260         * include/Makefile.am (ext_headers): Add cmath.
3261         * include/Makefile.in: Regenerated.
3262         * include/ext/cmath: New file.
3264 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3266         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
3267         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
3268         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3269         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3270         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3272 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
3274         PR libstdc++/56012
3275         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
3276         * testsuite/29_atomics/atomic/operators/56012.cc: New.
3278         PR libstdc++/56011
3279         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
3280         missing overload.
3281         * testsuite/29_atomics/atomic/operators/56011.cc: New.
3283 2013-02-25  Jason Merrill  <jason@redhat.com>
3285         * configure.ac: Check for __cxa_thread_atexit_impl.
3286         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
3287         to it if available.
3288         * config.h.in, configure: Regenerate.
3290 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3292         * include/std/streambuf (basic_streambuf): Use injected class name
3293         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
3294         group.
3296 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3298         * doc/html/faq.html: Fix spelling.
3299         * doc/xml/faq.xml: Likewise.
3300         * include/bits/basic_ios.h: Likewise.
3301         * include/bits/regex.h: Likewise.
3302         * include/std/istream: Likewise.
3303         * include/std/streambuf: Likewise.
3305 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3307         * testsuite/23_containers/unordered_set/55043.cc: Add missing
3308         namespace qualification.
3309         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3311 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
3313         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
3314         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
3315         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
3316         * include/bits/stl_pair.h: Add to utilities group.
3317         * include/std/tuple: Same.
3318         * include/std/typeindex: Same.
3320         * include/bits/stringfwd.h: Fix markup.
3321         * include/std/limits: Same.
3322         * include/std/type_traits: Same.
3323         * include/tr1/memory: Same.
3324         * include/tr1/regex: Same.
3325         * scripts/run_doxygen: Comment.
3326         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
3328 2013-02-14  Jason Merrill  <jason@redhat.com>
3330         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
3331         test if unsupported.
3333 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
3335         PR libstdc++/56111
3336         * include/std/complex (complex): Undefine.
3337         * include/c_compatibility/complex.h (complex): Only undefine if
3338         <complex> has been included.
3339         * testsuite/26_numerics/complex/56111.cc: New testcase.
3341 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
3343         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
3344         default constructor protected.
3345         * include/bits/hashtable.h: static assert that _Hash_code_base has
3346         a default constructor available through inheritance.
3348 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
3350         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
3351         C++11 mode.
3353 2013-02-12  Julian Brown  <julian@codesourcery.com>
3355         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
3356         Don't expect dots after abbreviated weekday names for ru_RU for
3357         glibc versions >= 2.17.
3358         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
3359         Likewise.
3361 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
3363         * include/bits/random.tcc (__transform): Remove.
3364         (__normalize): Add.
3365         (discrete_distribution<>::param_type::_M_initialize): Adjust.
3366         (piecewise_constant_distribution<>::param_type::_M_initialize):
3367         Likewise.
3368         (piecewise_linear_distribution<>::param_type::_M_initialize):
3369         Likewise.
3371 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
3373         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
3374         Use -fimplicit-templates.
3375         * src/c++11/Makefile.in: Regenerate.
3376         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
3377         std::lower_bound template.
3379 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
3381         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
3382         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
3383         in C++11 mode and if available in the underlying C library.
3384         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
3385         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
3386         _GLIBCXX_HAVE_QUICK_EXIT.
3388 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
3390         * doc/html/*: Regenerate.
3392 2013-02-11  Jason Merrill  <jason@redhat.com>
3394         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
3395         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
3396         * config.h.in, configure: Regenerate.
3397         * include/c_std/cstdlib: Add atexit and at_quick_exit.
3398         * include/c_global/cstdlib: Add atexit and at_quick_exit.
3399         * testsuite/18_support/quick_exit/quick_exit.cc: New.
3401 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
3403         PR libstdc++/56282
3404         Revert:
3405         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
3407         PR libstdc++/56193
3408         * include/bits/basic_ios.h: Replace operator void*() const
3409         with explicit operator bool() const in C++11 and greater.
3410         * testsuite/27_io/basic_ios/pr56193.cc: New file.
3412 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
3413             Jonathan Wakely  <jwakely.gcc@gmail.com>
3415         * doc/xml/manual/containers.xml: Add section on unordered containers.
3416         * doc/xml/manual/using.xml: Fix incomplete sentence.
3418 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
3420         PR libstdc++/56267
3421         * include/bits/hashtable.h (__cache_default): Check if hash function
3422         is copy assignable.
3423         * testsuite/23_containers/unordered_set/56267.cc: New.
3424         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
3425         dg-error line number.
3426         * testsuite/23_containers/unordered_set/
3427         not_default_constructible_hash_neg.cc: Likewise.
3429         PR libstdc++/56278
3430         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
3431         constructor public.
3432         * testsuite/23_containers/unordered_set/56278.cc: New.
3434 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
3436         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
3437         simplification.
3439 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
3441         PR libstdc++/56216
3442         * include/tr1/special_function_util.h: Remove spurious const
3443         from numeric arguments.
3444         * include/tr1/riemann_zeta.tcc: Likewise.
3445         * include/tr1/exp_integral.tcc: Likewise.
3446         * include/tr1/bessel_function.tcc: Likewise.
3447         * include/tr1/hypergeometric.tcc: Likewise.
3448         * include/tr1/modified_bessel_func.tcc: Likewise.
3449         * include/tr1/poly_laguerre.tcc: Likewise.
3450         * include/tr1/gamma.tcc: Likewise.
3451         * include/tr1/legendre_function.tcc: Likewise.
3452         * include/tr1/poly_hermite.tcc: Likewise.
3453         * include/tr1/ell_integral.tcc: Likewise.
3454         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
3455         If argument is zero return function value.
3456         * testsuite/tr1/5_numerical_facilities/special_functions/
3457         08_cyl_bessel_i/pr56216.cc: New.
3459 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
3461         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
3463 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
3465         PR libstdc++/56193
3466         * include/bits/basic_ios.h: Replace operator void*() const
3467         with explicit operator bool() const in C++11 and greater.
3468         * testsuite/27_io/basic_ios/pr56193.cc: New file.
3470 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
3472         Add missing explicit instantiation for std::lower_bound template
3473         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
3474         missing instantiation for std::lower_bound template.
3476 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
3478         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
3479         * include/bits/basic_string.h: Specialize previous to mark
3480         std::hash for string types as slow.
3481         * include/bits/hashtable.h (__cache_default): Replace is_integral
3482         with __is_fast_hash.
3483         * src/c++11/hash_c++0x.cc: Add type_traits include.
3484         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3485         Adapt dg-error line number.
3486         * testsuite/23_containers/unordered_set/
3487         not_default_constructible_hash_neg.cc: Likewise.
3489 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3490             Paolo Carlini  <paolo.carlini@oracle.com>
3492         PR libstdc++/56202 (again)
3493         * include/bits/random.tcc (binomial_distribution<>::
3494         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
3495         in previous commit.
3497         * include/bits/random.h: Fix comment typo.
3499 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3500             Paolo Carlini  <paolo.carlini@oracle.com>
3502         PR libstdc++/56202
3503         * include/bits/random.tcc (binomial_distribution<>::
3504         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
3505         division by zero.
3507 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
3509         Update copyright years.
3510         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
3511         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
3512         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
3513         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
3514         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
3515         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
3516         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
3517         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
3518         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
3519         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
3520         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
3521         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
3522         testsuite/29_atomics/atomic/cons/assign_neg.cc,
3523         testsuite/29_atomics/atomic/cons/copy_neg.cc,
3524         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
3525         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
3526         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
3527         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
3528         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
3529         Update lines in dg error matches.
3531 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
3533         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
3535 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
3537         * include/bits/hashtable_policy.h
3538         (_Prime_rehash_policy::_M_next_bkt)
3539         (_Prime_rehash_policy::_M_need_rehash): Move definition...
3540         * src/c++11/hashtable_c++0x.cc: ... here.
3541         * src/shared/hashtable-aux.cc: Remove c++config.h include.
3542         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
3543         symbols.
3545 2013-01-29  Jason Merrill  <jason@redhat.com>
3547         PR libstdc++/54314
3548         * config/abi/pre/gnu.ver: Don't export construction vtables.
3549         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
3551 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3553         PR libstdc++/56112
3554         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
3555         to construct value_type explicitly before trying to extract the key.
3556         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
3558 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
3560         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
3561         _Hashtable_ebo_helper to embed functors into the local_iterator
3562         when necessary. Pass information about functors involved in hash
3563         code by copy.
3564         * include/bits/hashtable.h (__cache_default): Do not cache for
3565         builtin integral types unless the hash functor is not noexcept
3566         qualified or is not default constructible. Adapt static assertions
3567         and local iterator instantiations.
3568         * include/debug/unordered_set
3569         (std::__debug::unordered_set<>::erase): Detect local iterators to
3570         invalidate using contained node rather than generating a dummy
3571         local_iterator instance.
3572         (std::__debug::unordered_multiset<>::erase): Likewise.
3573         * include/debug/unordered_map
3574         (std::__debug::unordered_map<>::erase): Likewise.
3575         (std::__debug::unordered_multimap<>::erase): Likewise.
3576         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
3577         std::tr1 and std versions of unordered_set regardless of any
3578         macro. Add test on default cache behavior.
3579         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
3580         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3581         Adapt line number.
3582         * testsuite/23_containers/unordered_set/
3583         not_default_constructible_hash_neg.cc: New.
3584         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
3586 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
3588         PR libstdc++/56085
3589         * include/std/complex (pow(const complex<>&, int)): Avoid __n
3590         signed overflow.
3592 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
3594         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3595         Tightten scan-assembler-times regexps, add dg-additional-options for
3596         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
3597         dg-options.
3599 2013-01-12  Andi Kleen  <ak@linux.intel.com>
3600             Jonathan Wakely  <jwakely.gcc@gmail.com>
3602         PR libstdc++/55233
3603         * include/bits/atomic_base.h (__memory_order_modifier): Add
3604         __memory_order_mask, __memory_order_modifier_mask,
3605         __memory_order_hle_acquire, __memory_order_hle_release.
3606         (operator|,operator&): Add.
3607         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
3608         (__cmpexch_failure_order): Add.
3609         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
3610         Handle flags.
3611         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3612         Add.
3614 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
3616         PR libstdc++/55861
3617         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
3618         Fix return type.
3619         (__basic_future::_M_get_result()): Const qualify.
3620         (shared_future::get()): Likewise.
3621         * testsuite/30_threads/shared_future/members/get.cc: Use const
3622         objects.
3624 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3626         PR libstdc++/55043 (again)
3627         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
3628         unless construction would be well-formed.
3629         (__allow_copy_cons, __check_copy_constructible): Define.
3630         * include/bits/unordered_map.h (__check_copy_constructible): Use as
3631         base class so copy constructor will be deleted if appropriate.
3632         (is_copy_constructible): Remove specialization.
3633         * include/bits/unordered_set.h: Likewise.
3634         * include/debug/unordered_map.h: Undo previous commit. Default copy
3635         and move constructors.
3636         * include/debug/unordered_set.h: Likewise.
3637         * include/profile/unordered_map.h: Undo previous commit.
3638         * include/profile/unordered_set.h: Likewise.
3639         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
3640         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
3641         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3642         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
3643         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
3644         cannot support incomplete types.
3645         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
3646         Likewise.
3648 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3650         PR libstdc++/55043
3651         * include/std/unordered_map: Include alloc_traits.h
3652         * include/std/unordered_set: Likewise.
3653         * include/bits/alloc_traits.h: Define __is_copy_insertable.
3654         * include/bits/unordered_map.h: Use it.
3655         * include/bits/unordered_set.h: Likewise.
3656         * include/debug/unordered_map.h: Likewise.
3657         * include/debug/unordered_set.h: Likewise.
3658         * include/profile/unordered_map.h: Likewise.
3659         * include/profile/unordered_set.h: Likewise.
3660         * include/bits/hashtable.h: Fix comment typos.
3661         * testsuite/23_containers/unordered_map/55043.cc: New.
3662         * testsuite/23_containers/unordered_multimap/55043.cc: New.
3663         * testsuite/23_containers/unordered_multiset/55043.cc: New.
3664         * testsuite/23_containers/unordered_set/55043.cc: New.
3666 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
3668         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
3669         gdb command.
3671 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3673         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
3675 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3677         PR libstdc++/55908
3678         * include/std/functional (_Mem_fn::operator()): Fix constraints to
3679         avoid ambiguity.
3680         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
3681         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
3683 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3685         PR libstdc++/55594
3686         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
3687         Solaris targets.
3688         * configure: Regenerate.
3690 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3692         PR libstdc++/55847
3693         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
3694         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
3695         string.
3697         PR libstdc++/55728
3698         * include/std/functional (bad_function_call::what()): Declare.
3699         * src/c++11/functional.cc (bad_function_call::what()): Define.
3700         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
3701         * testsuite/20_util/bad_function_call/what.cc: New.
3703 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3705         * include/bits/unordered_map.h: Fix typo in comments.
3706         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
3707         counts for unordered associative containers.
3709 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3711         * doc/xml/manual/abi.xml: Update library and symbol versions.
3713 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
3715         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
3716         in copyright years.
3717         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
3720 Copyright (C) 2013 Free Software Foundation, Inc.
3722 Copying and distribution of this file, with or without modification,
3723 are permitted in any medium without royalty provided the copyright
3724 notice and this notice are preserved.