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