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