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