Add forgotten test case for r203059.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobdde2e47a40a69cc27bdbbb34fcb032f7faaf894e
1 2013-10-01  Tim Shen  <timshen91@gmail.com>
3         * doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to
4         "is not correctly implemented".
6 2013-10-01  Tim Shen  <timshen91@gmail.com>
8         * doc/xml/manual/status_cxx2011.xml: Update regex status.
9         * include/bits/regex.h (match_results<>::begin,
10         match_results<>::cbegin, match_results<>::end, match_results<>::cend):
11         [28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2).
13 2013-10-01  François Dumont  <fdumont@gcc.gnu.org>
15         * include/parallel/algobase.h (mismatch, equal): Provide parallel
16         version for N3671 overloads.
18 2013-10-01  Paul Pluzhnikov  <ppluzhnikov@google.com>
20         * src/c++11/snprintf_lite.cc: Add missing
21         _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION
23 2013-10-01  Joern Rennecke  <joern.rennecke@embecosm.com>
25         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for
26         _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions.
27         * configure: Regenerate.
29 2013-10-01  Tim Shen  <timshen91@gmail.com>
31         PR libstdc++/58576
32         * include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy)
33         (_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch.
34         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New.
36 2013-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
38         * include/parallel/algo.h (__find_switch): Use __binder2nd.
40 2013-09-30  Chris Jefferson  <chris@bubblescope.net>
42         PR libstdc++/58437
43         * include/bits/stl_algo.h (__move_median_first): Rename to
44         __move_median_to_first, change to take an addition argument.
45         (__unguarded_partition_pivot): Adjust.
46         * testsuite/performance/25_algorithms/sort.cc: New.
47         * testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
48         * testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
50 2013-09-28  François Dumont  <fdumont@gcc.gnu.org>
52         * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
53         inline.
54         (rotate_copy, stable_partition, partial_sort_copy): Likewise.
55         (lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
56         (includes, next_permutation, prev_permutation): Likewise.
57         (replace_copy, replace_copy_if, is_sorted_until): Likewise.
58         (minmax_element, is_permutation, adjacent_find): Likewise.
59         (count, count_if, search, search_n, merge): Likewise.
60         (set_intersection, set_difference): Likewise.
61         (set_symmetric_difference, min_element, max_element): Likewise.
62         * include/bits/stl_algobase.h (lower_bound): Likewise.
63         (lexicographical_compare, mismatch): Likewise.
65 2013-09-28  Tim Shen <timshen91@gmail.com>
67         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
68         Let ordinary char escaping in POSIX be valid.
69         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
70         change.
72 2013-09-27  François Dumont  <fdumont@gcc.gnu.org>
74         * include/bits/predefined_ops.h: New.
75         * include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
76         (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
77         algo duplication.
78         (__is_heap): Adapt.
79         (__make_heap): New.
80         (make_heap): Adapt to use latter.
81         (__sort_heap): New.
82         (sort_heap): Adapt to use latter.
83         * include/bits/algobase.h: Include <bits/predefined_ops.h>.
84         (__lexicographical_compare_impl): New.
85         (__lexicographical_compare<false>::__lc): Adapt to use latter.
86         (lexicographical_compare): Likewise.
87         (__lower_bound): New.
88         (lower_bound): Adapt to use latter.
89         (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
90         (__mismatch): New.
91         (mismatch): Use latter.
92         * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
93         <functional> include.
94         (__move_median_first, __find, __find_if, __find_if_not): Remove
95         algo duplication.
96         (__find_end): Likewise.
97         (__search_n): Rename into ...
98         (__search_n_aux): ... this.
99         (__search_n): Renew, use latter.
100         (search_n): Use latter.
101         (__search): New.
102         (search): Use latter.
103         (__find_end): Likewise.
104         (__remove_copy_if): New.
105         (remove_copy): Use latter.
106         (__adjacent_find): New.
107         (adjacent_find): Use latter.
108         (__unique): New.
109         (unique): Use latter.
110         (__unique_copy): Remove algo duplication.
111         (__stable_partition): New.
112         (stable_partition): Use latter.
113         (__heap_select): Remove algo duplication, use __make_heap.
114         (__partial_sort): New, use latter.
115         (partial_sort): Use latter.
116         (__partial_sort_copy): New.
117         (partial_sort_copy): Use latter.
118         (__unguarded_linear_insert, __insertion_sort): Remove algo
119         duplication.
120         (__unguarded_insertion_sort, __final_insertion_sort): Likewise.
121         (__unguarded_partition, __unguarded_partition_pivot): Likewise.
122         (__partial_sort): New.
123         (partial_sort): Use latter.
124         (__sort): New.
125         (sort): Use latter.
126         (lower_bound): Use __lower_bound.
127         (__upper_bound): New.
128         (upper_bound): Use latter.
129         (__equal_range): New.
130         (equal_range): Use latter.
131         (__move_merge_adaptive, __move_merge_adaptive_backward): Remove
132         algo duplication.
133         (__merge_adaptive, __merge_without_buffer): Likewise.
134         (__inplace_merge): New.
135         (inplace_merge): Use latter.
136         (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
137         algo duplication.
138         (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
139         (__inplace_stable_sort): Likewise.
140         (__include): New.
141         (includes): Use latter.
142         (__next_permutation): New.
143         (next_permutation): Use latter.
144         (__prev_permutation): New.
145         (prev_permutation): Use latter.
146         (__replace_copy_if): New.
147         (replace_copy): Use latter.
148         (__is_sorted_until): New.
149         (is_sorted_unitl): Use latter.
150         (__minmax_element): New.
151         (minmax_element): Use latter.
152         (__is_permutation): New.
153         (is_permutation): Use latter.
154         (__adjacent_find): New.
155         (adjacent_find): Use latter.
156         (__count_if): New.
157         (count): Use latter.
158         (count_if): Likewise.
159         (__merge): New.
160         (merge): Use latter.
161         (__stable_sort): New.
162         (stable_sort): Use latter.
163         (__set_union): New.
164         (set_union): Use latter.
165         (__set_intersection): New.
166         (set_intersection): Use latter.
167         (__set_difference): New.
168         (set_difference): Use latter.
169         (__set_symmetric_difference): New.
170         (set_symmetric_difference): Use latter.
171         (__min_element): New.
172         (min_element): Use latter.
173         (__max_element): New.
174         (max_element): Use latter.
175         * include/Makefile.am: Add predefined_ops.h.
176         * include/Makefile.in: Regenerate.
177         * include/parallel/algobase.h (equal, mismatch): Add overloads
178         from N3671.
179         * testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
180         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
181         * testsuite/25_algorithms/find/vectorbool.cc: Likewise.
182         * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
183         * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
184         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
185         * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
186         * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
188 2013-09-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
190         PR libstdc++/57465
191         * include/std/functional
192         (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
193         for pointers.
194         * testsuite/20_util/function/cons/57465.cc: New.
196 2013-09-26  Tim Shen  <timshen91@gmail.com>
198         * regex_error.h: Remove _S_error_last to follow the standard.
199         * regex_scanner.tcc:
200         (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
201         error_badbrace.
202         (_Scanner<>::_M_eat_escape_posix): Extended doesn't support
203         back-reference.
204         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
205         Move here from ../../extended.
206         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
207         Likewise.
209 2013-09-25  Marc Glisse  <marc.glisse@inria.fr>
211         PR libstdc++/58338
212         * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
213         Mark as noexcept.
214         (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
215         operator++, operator==, operator!=, _M_next]: Likewise.
216         (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
217         operator->, operator++, operator==, operator!=, _M_next]: Likewise.
218         (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
219         operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
220         Likewise.
221         * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
222         _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
223         _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
224         const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
225         const _Node_iterator_base&)): Likewise.
226         (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
227         Likewise.
228         (_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
229         operator++]: Likewise.
230         * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
231         operator=, operator*, operator->, operator++, operator--, operator[],
232         operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
233         Likewise.
234         (operator==(const _Safe_iterator&, const _Safe_iterator&),
235         operator!=(const _Safe_iterator&, const _Safe_iterator&),
236         operator<(const _Safe_iterator&, const _Safe_iterator&),
237         operator<=(const _Safe_iterator&, const _Safe_iterator&),
238         operator>(const _Safe_iterator&, const _Safe_iterator&),
239         operator>=(const _Safe_iterator&, const _Safe_iterator&),
240         operator-(const _Safe_iterator&, const _Safe_iterator&),
241         operator+(difference_type, const _Safe_iterator&)): Likewise.
242         * include/profile/iterator_tracker.h (__iterator_tracker)
243         [__iterator_tracker, base, operator _Iterator, operator->, operator++,
244         operator--, operator=, operator*, operator[], operator+=, operator+,
245         operator-=, operator-]: Likewise.
246         (operator==(const __iterator_tracker&, const __iterator_tracker&),
247         operator!=(const __iterator_tracker&, const __iterator_tracker&),
248         operator<(const __iterator_tracker&, const __iterator_tracker&),
249         operator<=(const __iterator_tracker&, const __iterator_tracker&),
250         operator>(const __iterator_tracker&, const __iterator_tracker&),
251         operator>=(const __iterator_tracker&, const __iterator_tracker&),
252         operator-(const __iterator_tracker&, const __iterator_tracker&),
253         operator+(difference_type, const __iterator_tracker&)): Likewise.
255 2013-09-24  Marc Glisse  <marc.glisse@inria.fr>
257         PR libstdc++/58338
258         PR libstdc++/56166
259         * include/bits/basic_string.h (basic_string)
260         [basic_string(basic_string&&)]: Make the noexcept conditional.
261         [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
262         [begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
263         [pop_back]: Comment on the lack of noexcept.
264         * include/debug/string (basic_string) [basic_string(const _Allocator&),
265         basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
266         operator[](size_type), pop_back]: Comment out noexcept, until vstring
267         replaces basic_string.
269 2013-09-24  Tim Shen  <timshen91@gmail.com>
271         * include/Makefile.am: Add regex.tcc.
272         * include/Makefile.in: Regenerate.
273         * include/bits/regex.h: Remove definitions to regex.tcc.
274         * include/bits/regex.tcc: New.
275         (match_results::format, regex_replace): Implement;
276         * include/bits/regex_compiler.h: Move _M_flags to the top of class
277         member list, because other members' initialization depend on it.
278         * include/bits/regex_compiler.tcc
279         (_Compiler<>::_Compiler): Adjust member initializations.
280         (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
281         * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
282         In the future, all regex classes may refactor to *Impl style.
283         * include/bits/regex_executor.tcc (_Executor::_M_set_results):
284         Merge identical code from _*Executor classes.
285         * testsuite/28_regex/algorithms/regex_match/extended/
286         string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
287         caller for new __get_executors interface.
288         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
289         New.
290         * testsuite/28_regex/match_results/format.cc: New.
291         * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
292         testcase.
293         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
295 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
297         * src/c++11/snprintf_lite.cc (__concat_size_t): Use
298         unsigned long long conditionally.
300 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
302         * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
303         std::__int_to_char<unsigned long long>()
305 2013-09-21  Paul Pluzhnikov  <ppluzhnikov@google.com>
307         * include/bits/functexcept.h (__throw_out_of_range_fmt): New.
308         * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
309         * src/c++11/snprintf_lite.cc: New.
310         * src/c++11/Makefile.am: Add snprintf_lite.cc.
311         * src/c++11/Makefile.in: Regenerate.
312         * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
313         * include/std/array (at): Use __throw_out_of_range_fmt.
314         * include/debug/array (at): Likewise.
315         * include/profile/array (at): Likewise.
316         * include/std/bitset (_M_check_initial_position, _M_check): New.
317         (bitset::bitset): Use _M_check_initial_position.
318         (set, reset, flip, test): Use _M_check.
319         * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
320         * include/bits/stl_vector.h (_M_range_check): Likewise.
321         * include/bits/stl_bvector.h (_M_range_check): Likewise.
322         * include/bits/stl_deque.h (_M_range_check): Likewise.
323         * include/bits/basic_string.h (_M_check, at): Likewise.
324         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
325         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
326         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
327         Likewise.
328         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
329         Likewise.
330         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
331         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
332         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
333         Likewise.
334         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
335         Likewise.
336         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
337         * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
338         Likewise.
339         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
340         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
341         * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
343 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
345         PR testsuite/57605
346         * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
347         -fdiagnostics-color=never to cxxflags.
349 2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
351         PR libstdc++/58338
352         * include/bits/allocator.h (__alloc_swap::_S_do_it,
353         __shrink_to_fit_aux::_S_do_it): Mark as noexcept.
354         * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
355         _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
356         _M_set_length_and_sharable, _M_dispose]: Likewise.
357         (basic_string::_Alloc_hider::_Alloc_hider): Likewise.
358         (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
359         _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
360         _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
361         Likewise.
362         [clear]: Link to PR 56166.
363         [swap]: Link to PR 58265.
364         * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
365         _Deque_iterator, _M_const_cast, operator*, operator->, operator++,
366         operator--, operator+=, operator+, operator-=, operator-, operator[],
367         _M_set_node]: Mark as noexcept.
368         (operator==(const _Deque_iterator&, const _Deque_iterator&),
369         operator!=(const _Deque_iterator&, const _Deque_iterator&),
370         operator<(const _Deque_iterator&, const _Deque_iterator&),
371         operator>(const _Deque_iterator&, const _Deque_iterator&),
372         operator<=(const _Deque_iterator&, const _Deque_iterator&),
373         operator>=(const _Deque_iterator&, const _Deque_iterator&),
374         operator-(const _Deque_iterator&, const _Deque_iterator&),
375         operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
376         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
377         _M_initialize_map.
378         [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
379         Mark as noexcept.
380         (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
381         _Deque_impl(_Tp_alloc_type&&)]: Likewise.
382         (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
383         front, back, pop_front, pop_back, swap]: Likewise.
384         [deque(), deque(const allocator_type&)]: Merge.
385         * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
386         operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
387         * include/profile/deque (deque) [operator=(deque&&), operator[], front,
388         back, pop_front, pop_back, swap]: Likewise.
389         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
390         Adjust line number.
391         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
392         Likewise.
393         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
394         Likewise.
395         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
396         Likewise.
398 2013-09-20  Alan Modra  <amodra@gmail.com>
400         * configure: Regenerate.
402 2013-09-19  Marc Glisse  <marc.glisse@inria.fr>
404         PR libstdc++/58338
405         * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
406         Mark as noexcept.
407         (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
408         operator++, operator--, operator==, operator!=]: Likewise.
409         (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
410         operator*, operator->, operator++, operator--, operator==, operator!=]:
411         Likewise.
412         (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
413         operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
414         Likewise.
415         (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
416         _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
417         _S_maximum]: Likewise.
418         * include/debug/string (basic_string) [basic_string(const _Allocator&),
419         shrink_to_fit, operator[], pop_back]: Likewise.
420         * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
421         _M_ibegin, _M_iend, __versa_string(const _Alloc&),
422         operator=(__versa_string&&), shrink_to_fit, operator[], front,
423         back, assign(__versa_string&&), swap]: Likewise.
424         (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
425         Merge.
427 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
429         PR libstdc++/58338
430         * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
431         _M_const_cast, operator*, operator->, operator++, operator--,
432         operator[], operator+=, operator+, operator-=, operator-, base]:
433         Mark as noexcept.
434         (operator==(const __normal_iterator&, const __normal_iterator&),
435         operator!=(const __normal_iterator&, const __normal_iterator&),
436         operator<(const __normal_iterator&, const __normal_iterator&),
437         operator>(const __normal_iterator&, const __normal_iterator&),
438         operator<=(const __normal_iterator&, const __normal_iterator&),
439         operator>=(const __normal_iterator&, const __normal_iterator&),
440         operator-(const __normal_iterator&, const __normal_iterator&),
441         operator+(difference_type, const __normal_iterator&)): Likewise.
442         * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
443         Likewise.
444         (list::_M_check_equal_allocators): Abort instead of throwing.
445         * include/debug/array (array) [operator[], front, back]: Mark as
446         noexcept.
447         * include/profile/array (array) [operator[], front, back]: Likewise.
448         * include/std/array (array) [operator[], front, back]: Likewise.
449         * include/debug/list (list::splice): Likewise.
450         * include/profile/list (list::splice): Likewise.
451         * testsuite/23_containers/list/operations/5.cc: Remove file.
452         * testsuite/23_containers/list/operations/5.h: Likewise.
454 2013-09-18  Tim Shen  <timshen91@gmail.com>
456         * include/bits/regex.h: Add friend classes.
457         (match_results<>::position, regex_iterator<>::operator++):
458         Implement position specification in regex_iterator.
459         (regex_match<>, regex_search<>):
460         Move match_results initializations to these function. Remove `todo`.
461         * include/bits/regex_compiler.tcc:
462         (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
463         * include/bits/regex_constants.h:
464         Fix indentation. Change match_flag_type to enum type.
465         * include/bits/regex_executor.h:
466         Merge identical code to the base class _Executor.
467         Support flags in regex_constants.
468         * include/bits/regex_executor.tcc: Likewise.
469         * include/bits/regex_scanner.h: Add comments.
470         * include/bits/regex_scanner.tcc: Same.
471         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
472         Add a testcase.
473         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
474         * testsuite/28_regex/iterators/regex_iterator/char/
475         string_position_01.cc: Remove `xfail`.
476         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
477         Remove `xfail` and make the case really work.
479 2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
481         * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
483 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
485         PR libstdc++/58338
486         * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
487         noexcept.
488         * include/bits/stl_list.h (_List_iterator) [_List_iterator,
489         _M_const_cast, operator*, operator->, operator++, operator--,
490         operator==, operator!=]: Likewise.
491         (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
492         operator->, operator++, operator--, operator==, operator!=]: Likewise.
493         (operator==(const _List_iterator&, const _List_const_iterator&),
494         operator!=(const _List_iterator&, const _List_const_iterator&)):
495         Likewise.
496         (_List_impl) [_List_impl(const _Node_alloc_type&),
497         _List_impl(_Node_alloc_type&&)]: Likewise.
498         (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
499         _List_base(_List_base&&), _M_clear, _M_init]: Likewise.
500         (list) [list(), list(const allocator_type&)]: Merge.
501         (list) [list(const allocator_type&), front, back, pop_front, pop_back,
502         erase, _M_erase]: Mark as noexcept.
503         * include/debug/list (list) [list(const _Allocator&), front, back,
504         pop_front, pop_back, _M_erase, erase]: Likewise.
505         * include/profile/list (list) [list(const _Allocator&), front, back,
506         pop_front, pop_back, erase]: Likewise.
507         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
508         Adjust line number.
509         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
510         Likewise.
511         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
512         Likewise.
513         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
514         Likewise.
516 2013-09-17  Marc Glisse  <marc.glisse@inria.fr>
518         PR libstdc++/58338
519         * include/bits/stl_vector.h (vector::vector(),
520         vector::vector(const allocator_type&)): Merge.
521         (_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
522         _Vector_impl::_Vector_impl(_Tp_alloc_type&&),
523         _Vector_impl::_M_swap_data,
524         _Vector_base::_Vector_base(const allocator_type&),
525         _Vector_base::_Vector_base(allocator_type&&),
526         _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
527         vector::vector(const allocator_type&), vector::operator[],
528         vector::operator[] const, vector::front, vector::front const,
529         vector::back, vector::back const, vector::pop_back,
530         vector::_M_erase_at_end): Mark as noexcept.
531         * include/debug/vector (vector::vector(const _Allocator&),
532         vector::operator[], vector::operator[] const, vector::front,
533         vector::front const, vector::back, vector::back const, vector::pop_back,
534         _M_requires_reallocation, _M_update_guaranteed_capacity,
535         _M_invalidate_after_nth): Mark as noexcept.
536         * include/profile/vector (vector::vector(const _Allocator&),
537         vector::operator[], vector::operator[] const, vector::front,
538         vector::front const, vector::back, vector::back const): Mark as
539         noexcept.
540         (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
541         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
542         Adjust line number.
543         * testsuite/23_containers/vector/requirements/dr438/
544         constructor_1_neg.cc: Likewise.
545         * testsuite/23_containers/vector/requirements/dr438/
546         constructor_2_neg.cc: Likewise.
547         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
548         Likewise.
550 2013-09-14  Tim Shen  <timshen91@gmail.com>
552         * include/bits/regex.h (regex_match<>, regex_search<>):
553         Change regex_executor caller. Now use their return value instead
554         of checking __m[0].matched to find out if it's successful.
555         (regex_search<>): Move the search logic to regex_executor.
556         * include/bits/regex_automaton.h: Add some new _Opcode. Refactor
557         _NFA::_M_insert_*.
558         * include/bits/regex_automaton.tcc: Add DEBUG dump for new
559         _Opcode. Refactor _NFA::_M_insert_*.
560         * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
561         Use make_shared instead of construct by hand.
562         * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
563         * include/bits/regex_constants.h: Fix indentation and line breaking.
564         * include/bits/regex_executor.h: Add _ResultsEntry to support
565         greedy/ungreedy mode. Move regex_search logic here.
566         * include/bits/regex_executor.tcc: Implement assertions and
567         greedy/ungreedy matching.
568         * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
569         * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
570         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
571         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
572         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
573         Fix comment.
575 2013-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
577         PR libstdc++/58415
578         * include/ext/sso_string_base.h (__sso_string_base<>::
579         __sso_string_base(__sso_string_base&&)): Fix thinkos about
580         _M_length vs _M_set_length.
581         * testsuite/ext/vstring/cons/58415-1.cc: New.
582         * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
584 2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>
586         PR libstdc++/58403
587         * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
588         operator+=, operator+, operator-=, operator-): Take the argument
589         by value.
590         * testsuite/24_iterators/normal_iterator/58403.cc: New.
592 2013-09-11  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
593             Chris Jefferson  <chris@bubblescope.net>
595         PR libstdc++/58358
596         * include/bits/stl_algo.h (search_n): Fix to guarantee a number
597         of comparisons <= number of elements in the range.
598         * testsuite/25_algorithms/search_n/58358.cc: New.
599         * testsuite/25_algorithms/search_n/iterator.cc: Extend.
601 2013-09-10  Ed Smith-Rowland  <3dw4rd@verizon.net>
603         * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
604         from char to wchar_t, literals from 'x' to L'x'.
606 2013-09-10  Kai Tietz  <ktietz@redhat.com>
608         PR libstdc++/54314
609         * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
610         like in gnu.ver.
612 2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
614         PR libstdc++/58341
615         * include/bits/stl_algobase.h (copy_backward): Fix documentation
616         per DR 1206.
618 2013-09-05  Tim Shen  <timshen91@gmail.com>
620         * include/bits/regex_automaton.h: Add dummy node type. Rewrite
621         _StateSeq.
622         * include/bits/regex_automaton.tcc: Implement them.
623         * include/bits/regex_compiler.h: Rewrite _Compiler to use new
624         _StateSeq interfaces.
625         * include/bits/regex_compiler.tcc: Implement them.
626         * include/bits/regex_scanner.h: Add word boundry assertion token.
627         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
628         Support word boundry.
629         * testsuite/28_regex/algorithms/regex_match/basic/
630         string_range_02_03.cc: Remove "xfail".
631         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
632         Likewise.
633         * testsuite/28_regex/algorithms/regex_match/extended/
634         string_range_02_03.cc: Likewise.
635         * testsuite/28_regex/algorithms/regex_match/extended/
636         cstring_questionmark.cc: Remove xfail and get correct length of
637         c-string.
638         * testsuite/28_regex/algorithms/regex_match/extended/
639         string_range_00_03.cc: Likewise.
640         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
641         New.
642         * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
643         New.
644         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
646 2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
648         PR libstdc++/58302
649         * include/bits/random.tcc (negative_binomial_distribution<>::
650         operator()(_UniformRandomNumberGenerator&, const param_type&)):
651         Fix typo in template argument.
652         * testsuite/26_numerics/random/negative_binomial_distribution/
653         operators/58302.cc: New.
655 2013-09-02  Tim Shen  <timshen91@gmail.com>
657         * regex_automaton.h: Rearrange _NFA's layout.
658         * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
659         Rearrange _BracketMatcher's layout.
660         (_BracketMatcher<>::_M_add_char): Use set instead of vector for
661         _M_char_set.
662         (_BracketMatcher<>::_M_add_collating_element): Likewise.
663         (_BracketMatcher<>::_M_make_range): Likewise.
664         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
665         appropriate constructors of matchers above.
666         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
667         New.
668         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
669         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
670         New.
671         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
672         New.
673         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
674         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
675         New.
676         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
678 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
680         PR libstdc++/58148
681         * include/debug/functions.h (__foreign_iterator_aux4): Use
682         sequence const_pointer as common type to compare pointers. Add a
683         fallback overload in case pointers cannot be cast to sequence
684         const_pointer.
685         * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
687 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
689         PR libstdc++/58191
690         * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
691         __gnu_debug::__base calls on iterators passed to internal debug
692         check.
693         (__glibcxx_check_partitioned_lower_pred): Likewise.
694         (__glibcxx_check_partitioned_upper): Likewise.
695         (__glibcxx_check_partitioned_upper_pred): Likewise.
696         (__glibcxx_check_sorted): Likewise.
697         (__glibcxx_check_sorted_pred): Likewise.
698         (__glibcxx_check_sorted_set): Likewise.
699         (__glibcxx_check_sorted_set_pred): Likewise.
700         * include/debug/functions.h (__check_partitioned_lower):
701         Remove code to detect safe iterators.
702         (__check_partitioned_upper): Likewise.
703         (__check_sorted): Likewise.
705 2013-08-29  Tim Shen  <timshen91@gmail.com>
707         * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
708         (regex_iterator<>::regex_iterator): Return nullptr when regex_search
709         failed.
710         (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
711         _M_result is(not isn't) nullptr.
712         * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
713         instead of by value.
714         * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
715         _M_traits to _DFSExecutor.
716         * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
717         _DFSExecutor too.
718         * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
719         New.
720         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
721         wstring_02.cc: New.
723 2013-08-26  Tim Shen  <timshen91@gmail.com>
725         * include/Makefile.am: Add regex_scanner.{h,tcc}.
726         * include/Makefile.in: Regenerate.
727         * include/bits/regex.h (match_search): Handle the `__first == __last`
728         situation correctly.
729         * include/bits/regex_compiler.h: Move _Scanner...
730         * include/bits/regex_scanner.h: ...to here. New.
731         * include/bits/regex_compiler.tcc: Move _Scanner...
732         * include/bits/regex_scanner.tcc: ...to here, too. New.
733         * include/bits/regex_executor.tcc: Use value instead of reference for
734         submatch.
735         * include/std/regex: Add regex_scanner.h
736         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
737         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
738         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
739         * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
740         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
742 2013-08-22  Tim Shen  <timshen91@gmail.com>
744         * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
745         * include/bits/regex_automaton.h: Same.
746         * include/bits/regex_automaton.tcc: Same.
747         * include/bits/regex_compiler.h: Same.
748         * include/bits/regex_compiler.tcc: Same.
749         * include/bits/regex_constants.h: Same.
750         * include/bits/regex_executor.h: Same.
751         * include/bits/regex_executor.tcc: Same.
753 2013-08-22  Tim Shen  <timshen91@gmail.com>
755         * include/bits/regex.h: Executor caller.
756         * include/bits/regex_executor.h: Fix empty grouping problem.
757         * include/bits/regex_executor.tcc: Same.
758         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
759           New.
761 2013-08-20  Phil Muldoon  <pmuldoon@redhat.com>
763         PR libstdc++/53477
764         http://sourceware.org/bugzilla/show_bug.cgi?id=15195
766         * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
767         is a reference, fetch referenced value.
768         (RxPrinter.invoke): Ditto.
769         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
770         flag. Add referenced value tests.
772 2013-08-20  Tim Shen  <timshen91@gmail.com>
774         * include/bits/regex_constants.h: Add underlying `unsigned int` for
775           enum syntax_option_type.
777 2013-08-18  Tim Shen  <timshen91@gmail.com>
779         * include/bits/regex_automaton.h: _S_opcode_backref.
780         * include/bits/regex_automaton.tcc: Backref automaton support.
781         * include/bits/regex_compiler.tcc: Parsing support.
782         * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
783         * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
784         * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
786 2013-08-16  Tim Shen  <timshen91@gmail.com>
788         * include/bits/regex.h (regex_traits<>::transform_primary):
789         Avoid past-the-end dereferences.
791 2013-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
793         PR libstdc++/58163
794         * include/bits/basic_string.h (basic_string<>::operator[]): Fix
795         _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
796         * include/ext/vstring.h: Likewise.
797         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
798         New.
799         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
800         Likewise.
801         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
802         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
804 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
806         * src/c++98/compatibility.cc (_ZTIe): Use
807         reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
808         (_ZTIPe): Ditto.
809         (ZTIPKe): Ditto.
811 2013-08-09  Tim Shen  <timshen91@gmail.com>
813         * include/bits/regex_constants.h: Change syntax_option_type to enum
814         type.
816 2013-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
818         * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
820 2013-08-08  François Dumont  <fdumont@gcc.gnu.org>
822         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
823         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
824         _Hashtable.
825         (_Before_begin<>): Remove.
826         * include/bits/hashtable.h (_Hashtable): Inherit from
827         _Hashtable_alloc and adapt. Restore _M_before_begin field.
828         * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
829         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
830         access to hashtable before begin.
831         * testsuite/23_containers/unordered_set/
832         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
833         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
834         Likewise.
836 2013-08-07  Tim Shen  <timshen91@gmail.com>
838         * include/Makefile.am: Adjust to new files.
839         * include/Makefile.in: Regenerate.
840         * include/bits/regex.h: Adjust to new interfaces.
841         * include/bits/regex_automaton.h: New.
842         * include/bits/regex_automaton.tcc: New.
843         * include/bits/regex_compiler.h: Adjust to new files.
844         * include/bits/regex_compiler.tcc: New.
845         * include/bits/regex_constants.h: Tail spaces.
846         * include/bits/regex_error.h: Likewise.
847         * include/bits/regex_executor.h: New.
848         * include/bits/regex_executor.tcc: New.
849         * include/std/regex: Adjust to new files.
850         * testsuite/28_regex/algorithms/regex_match/extended/
851         string_dispatch_01.cc: Adjust to new interfaces.
853 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
855         * include/ext/atomicity.h: Add #pragma GCC system_header.
857 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
859         PR libstdc++/58098
860         * include/bits/random.h (cauchy_distribution<>::min,
861         extreme_value_distribution<>::min, normal_distribution<>::min,
862         student_t_distribution<>::min): Fix.
863         * include/ext/random (normal_mv_distribution<>::min): Likewise.
864         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
865         Adjust.
866         testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
867         Likewise.
868         * testsuite/26_numerics/random/extreme_value_distribution/cons/
869         parms.cc: Likewise.
870         testsuite/26_numerics/random/extreme_value_distribution/cons/
871         default.cc: Likewise.
872         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
873         Likewise.
874         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
875         Likewise.
876         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
877         Likewise.
878         * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
879         Likewise.
880         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
881         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
883         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
884         Minor tweak.
885         * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
886         Likewise.
888         * testsuite/ext/von_mises_distribution/*: Move to...
889         * testsuite/ext/random/von_mises_distribution/*: ... here.
890         * testsuite/ext/triangular_distribution/*: Move to...
891         * testsuite/ext/random/triangular_distribution/*: ... here.
893 2013-08-06  Caroline Tice  <cmtice@google.com>
895         * fragment.am: Add XTEMPLATE_FLAGS.
896         * configure.ac: Add definitions for --enable-vtable-verify.
897         * acinclude.m4:  Add --enable-vtable-verify and
898         --disable-vtable-verify; define --enable-vtable-verify; define
899         VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
900         * config/abi/pre/gnu.ver: Export symbols for vtable verification.
901         * libsupc++/Makefile.am: Define vtv_sources and add it to
902         libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
903         * libsupc++/vtv_stubs.cc: New file.
904         * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
905         * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
906         VTV_CXXLINKFLAGS to CXXLINK.
907         * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
908         to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
909         * src/C++11/Makefile.am: Ditto.
910         * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
911         * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
912         cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
913         * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
914         libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
915         cxxvtvflags to cxx_final.
916         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
917         -fvtable-verify=none to compiler flags.
918         * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
919         to compiler flags.
920         * configure: Regenerated.
921         * Makefile.in: Regenerated.
922         * python/Makefile.in: Regenerated.
923         * include/Makefile.in: Regenerated.
924         * libsupc++/Makefile.in: Regenerated.
925         * config.h.in: Regenerated.
926         * po/Makefile.in: Regenerated.
927         * src/Makefile.in: Regenerated.
928         * src/c++98/Makefile.in: Regenerated.
929         * src/c++11/Makefile.in: Regenerated.
930         * doc/Makefile.in: Regenerated.
931         * testsuite/Makefile.in: Regenerated.
933 2013-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
935         Revert the last commit.
937 2013-08-06  François Dumont  <fdumont@gcc.gnu.org>
939         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
940         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
941         _Hashtable.
942         (_Before_begin<>): Remove.
943         * include/bits/hashtable.h (_Hashtable): Inherit from
944         _Hashtable_alloc and adapt. Restore _M_before_begin field.
945         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
946         access to hashtable before begin.
947         * testsuite/23_containers/unordered_set/
948         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
949         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
950         Likewise.
952 2013-08-03  Tim Shen  <timshen91@gmail.com>
954         Implement bracket expression.
955         * include/bits/regex.h: Remove constexpr from "|=", etc.
956         * include/bits/regex_compiler.h: Parse bracket expression.
957         * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
958         _RangeMatcher).
959         * include/bits/regex_nfa.tcc: Implement them.
960         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
961         from regex_search to regex_match.
962         * testsuite/28_regex/algorithms/regex_match/extended/
963         cstring_bracket_01.cc: New.
965 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
967         * include/debug/functions.h (__foreign_iterator_aux4):
968         Initialize __l and __ge.
970 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
972         PR libstdc++/58049
973         * include/debug/functions.h: Include <bits/move.h>; minor formatting
974         changes.
975         (__foreign_iterator_aux4): Declare __l and __ge constexpr.
976         * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
977         Use __addressof.
978         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
979         operator->): Likewise.
981 2013-08-01  François Dumont  <fdumont@gcc.gnu.org>
983         PR libstdc++/57779
984         * include/debug/formatter.h (_Debug_msg_id): Add
985         __msg_insert_itself_range entry.
986         * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
987         New, indicate container types supporting self range insertion in
988         GNU implementation.
989         (__foreign_iterator): New, check if an iterator points to a given
990         sequence.
991         * include/debug/macros.h (__glibcxx_check_insert_range): Add check
992         using __foreign_iterator.
993         (__gibcxx_check_insert_range_after): Likewise.
994         * include/debug/string (_Insert_range_from_self_is_safe<>):
995         Partially specialized to mark __gnu_debug::basic_string<> as
996         supporting self range insert.
997         * include/debug/list (_Insert_range_from_self_is_safe<>):
998         Partially specialized to mark std::list as supporting self range
999         insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
1000         * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
1001         Likewise.
1002         * src/c++11/debug.cc (_S_debug_messages): Add
1003         __msg_insert_itself_range_entry message.
1004         (_Error_formatter::_Parameter::_M_print_description): Display
1005         iterator sequence address rather than sequence address when the
1006         parameter type is an iterator.
1007         (_Error_formatter::_M_print_word): Enhance behavior when
1008         displaying a word with an appended '\n'.
1009         * testsuite/util/debug/checks.h (check_insert4<>): New.
1010         * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
1011         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
1012         * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
1013         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
1014         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
1015         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
1016         Likewise.
1018 2013-08-01  Fabien Chêne  <fabien@gcc.gnu.org>
1020         PR c++/54537
1021         * include/tr1/cmath: Remove pow(double,double) overload, remove a
1022         duplicated comment about DR 550. Add a comment to explain the
1023         issue.
1024         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
1026 2013-07-31  Tim Shen  <timshen91@gmail.com>
1028         Thompson matcher refactored. Fix grouping problem.
1029         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1030         * include/bits/regex_compiler.h: Tweak for auto switching.
1031         * include/bits/regex_grep_matcher.h: Class structure.
1032         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1033         matcher) refactoring.
1034         * include/bits/regex_nfa.h: Change _Results's interfaces.
1035         * include/std/regex: Includes <map> and <queue>.
1036         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1037         For both matchers.
1038         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1039         For both matchers.
1040         * testsuite/28_regex/algorithms/regex_match/extended/
1041         string_dispatch_01.cc: New.
1043 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
1045         PR libstdc++/56627
1046         * include/bits/stl_bvector.h: Use friend struct hash intead of
1047         friend class hash to work around useless warnings produced by
1048         some compilers.
1049         * include/std/bitset: Likewise.
1051 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
1053         * src/c++11/functexcept.cc: Do not include the whole <regex>.
1054         * src/c++11/regex.cc: Likewise.
1056 2013-07-31  Tim Shen  <timshen91@gmail.com>
1058         Revert last commit.
1060 2013-07-31  Tim Shen  <timshen91@gmail.com>
1062         Thompson matcher refactored. Fix grouping problem.
1063         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1064         * include/bits/regex_compiler.h: Tweak for auto switching.
1065         * include/bits/regex_grep_matcher.h: Class structure.
1066         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1067         matcher) refactoring.
1068         * include/bits/regex_nfa.h: Change _Results's interfaces.
1069         * include/std/regex: Includes <map> and <queue>.
1070         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1071         For both matchers.
1072         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1073         For both matchers.
1074         * testsuite/28_regex/algorithms/regex_match/extended/
1075         string_dispatch_01.cc: New.
1077 2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
1079         Revert last commit.
1081 2013-07-30  Tim Shen  <timshen91@gmail.com>
1083         Thompson matcher refactored. Fix grouping problem.
1084         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1085         * include/bits/regex_compiler.h: Tweak for auto switching.
1086         * include/bits/regex_grep_matcher.h: Class structure.
1087         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1088         matcher) refactoring.
1089         * include/bits/regex_nfa.h: Change _Results's interfaces.
1090         * include/std/regex: Includes <map> and <queue>.
1091         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1092         For both matchers.
1093         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1094         For both matchers.
1095         * testsuite/28_regex/algorithms/regex_match/extended/
1096         string_dispatch_01.cc: New.
1098 2013-07-29  Nathan Froyd  <froydnj@gcc.gnu.org>
1100         * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
1101         Add call to __cmpexch_failure_order.
1102         * testsuite/util/testsuite_common_types.h
1103         (compare_exchange_order_lowering): New generator.
1104         * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
1105         New test.
1107 2013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
1109         * include/std/complex (pow(const complex<>&, int)): Enable in
1110         C++11 mode too.
1111         * testsuite/26_numerics/complex/dr844.cc: Adjust.
1112         * doc/xml/manual/intro.xml: Update.
1114 2013-07-25  Tim Shen  <timshen91@gmail.com>
1116         Add documents and comments.
1117         * include/bits/regex.h: Documents and comments.
1118         * include/bits/regex_grep_matcher.h: Likewise.
1119         * include/bits/regex_grep_matcher.tcc: Likewise.
1120         * testsuite/28_regex/iterators/regex_iterator/char/
1121         string_position_01.cc: New.
1123 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
1125         PR libstdc++/57976
1126         * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
1127         time_get::do_get.
1129 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
1131         * include/bits/random.h (random_device): Avoid using the FILE type.
1132         * include/std/random: Do not include <cstdio>.
1133         * src/c++11/random.cc: ... include it here.
1134         (random_device::_M_init, random_device::_M_fini,
1135         random_device::_M_getval): Cast back and forth void* and FILE*.
1137 2013-07-24  Tim Shen  <timshen91@gmail.com>
1139         Reimplment matcher using Depth-first search(backtracking).
1140         PR libstdc++/53622
1141         PR libstdc++/57173
1142         * include/bits/regex.h: regex_match() and regex_search().
1143         * include/bits/regex_cursor.h: Fix _M_set_pos().
1144         * include/bits/regex_grep_matcher.h: add _M_dfs_match().
1145         * include/bits/regex_grep_matcher.tcc: Implement it.
1146         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
1147         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
1148         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
1149         Remove xfail.
1151 2013-07-23  Tim Shen  <timshen91@gmail.com>
1153         Implement regex_iterator and regex_token_iterator.
1154         * include/bits/regex.h: regex_iterator and regex_token_iterator.
1155         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
1156         New.
1157         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
1158         New.
1159         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
1160         New.
1161         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1162         string_01.cc: New.
1164 2013-07-23  Paolo Carlini  <paolo.carlini@oracle.com>
1166         * include/std/random: Add back <cstdio> include.
1167         * src/c++11/random.cc: Don't include <cstdio> here.
1169 2013-07-22  Jason Merrill  <jason@redhat.com>
1171         PR libstdc++/57914
1172         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
1174 2013-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
1176         PR c++/57920
1177         * src/c++11/random.cc (random_device::_M_getval): If possible, use
1178         read instead of std::fread.
1179         * include/std/random: Do not include <cstdio> unnecessarily.
1181 2013-07-21  Tim Shen  <timshen91@gmail.com>
1183         Partially implement regex_search.
1184         * include/bits/regex.h: regex_search.
1185         * include/bits/regex_grep_matcher.h: _M_search_from_first.
1186         * include/bits/regex_grep_matcher.tcc: Implement it.
1187         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
1189 2013-07-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
1191         PR libstdc++/54352
1192         * include/std/condition_variable (condition_variable_any): Move into
1193         inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
1194         * src/c++11/condition_variable.cc (condition_variable_any): Move
1195         definitions to ...
1196         * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
1197         * src/Makefile.am: Add new source file.
1198         * src/Makefile.in: Regenerate.
1200 2013-07-09  Tim Shen  <timshen91@gmail.com>
1202         Implement class regex_traits.
1203         * include/bits/regex.h: Implement lookup_classname and
1204         lookup_collatename; modify isctype; partially implement
1205         transform_primary.
1206         * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
1207         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
1208         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
1209         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
1210         * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
1211         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
1212         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
1213         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
1215 2013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
1217         * doc/xml/manual/status_cxx2014.xml: Add links for papers.
1219 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
1221         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
1222         pattern.
1223         (_MoveReuseOrAllocNode): Remove.
1224         (_Insert_base): Take a functor defining how the node is generated.
1225         * include/bits/hashtable.h: Adapt.
1226         (operator=(initializer_list<value_type>)): Reuse node if any.
1227         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1228         Adjust dg-error line number.
1229         * testsuite/23_containers/unordered_set/
1230         not_default_constructible_hash_neg.cc: Likewise.
1232 2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
1234         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1235         Tweak, avoid potential undefined behavior.
1236         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1237         Likewise.
1238         * testsuite/23_containers/vector/bool/modifiers/insert/
1239         const_iterator.cc: Likewise.
1240         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1241         Likewise.
1243 2013-07-04  Veres Lajos  <vlajos@gmail.com>
1244             Jonathan Wakely  <jwakely.gcc@gmail.com>
1246         * config/locale/generic/codecvt_members.cc: Fix typo.
1247         * configure.host: Likewise.
1248         * doc/html/manual/policy_data_structures_design.html: Likewise.
1249         * doc/xml/manual/policy_data_structures.xml: Likewise.
1250         * include/bits/hashtable.h: Likewise.
1251         * include/bits/random.h: Likewise.
1252         * include/profile/impl/profiler_trace.h: Likewise.
1253         * testsuite/23_containers/deque/cons/2.cc: Likewise.
1254         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
1255         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
1256         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1258 2013-07-04  Ray Chason  <chasonr@newsguy.com>
1259             Paolo Carlini  <paolo.carlini@oracle.com>
1261         PR libstdc++/57808
1262         * include/bits/regex.h (regex_token_iterator<>::operator==,
1263         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
1264         regex_token_iterator<>::operator->): Declare const.
1266 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
1268         * include/bits/stl_list.h (list<>::insert(iterator,
1269         size_type, const value_type&), list<>::insert(iterator,
1270         initializer_list<>), list<>::insert(iterator, _InputIterator,
1271         _InputIterator), list<>::splice(iterator, list&&),
1272         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
1273         iterator), list<>::splice(iterator, list&, iterator),
1274         list<>::splice(iterator, list&&, iterator, iterator),
1275         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
1276         signatures to take const_iterator(s).
1277         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
1278         const value_type&), list<>::insert(const_iterator, _InputIterator,
1279         _InputIterator)): Define.
1280         * include/ext/vstring.h (__versa_string<>::insert(iterator,
1281         size_type, _CharT), __versa_string<>::insert(iterator,
1282         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
1283         std::initializer_list<>), __versa_string<>::replace(iterator,
1284         iterator, _InputIterator, _InputIterator), __versa_string<>::
1285         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
1286         signatures to take const_iterator(s).
1287         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
1288         * include/ext/vstring.tcc: Likewise.
1289         * include/debug/list: Adjust.
1290         * include/profile/list: Likewise.
1291         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
1292         New.
1293         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1294         Extend.
1295         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1296         Likewise.
1297         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1298         Likewise.
1299         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1300         Likewise.
1301         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1302         Likewise.
1304         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1305         Adjust dg-error line number.
1306         * testsuite/23_containers/list/requirements/dr438/
1307         constructor_1_neg.cc: Likewise.
1308         * testsuite/23_containers/list/requirements/dr438/
1309         constructor_2_neg.cc: Likewise.
1310         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1311         Likewise.
1313 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
1315         * include/bits/stl_deque.h (deque<>::insert(iterator,
1316         size_type, const value_type&), deque<>::insert(iterator,
1317         initializer_list<>), deque<>::insert(iterator, _InputIterator,
1318         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
1319         * include/bits/stl_vector.h: Likewise.
1320         * include/bits/stl_bvector.h: Likewise.
1321         * include/debug/deque: Adjust.
1322         * include/debug/vector: Likewise.
1323         * include/profile/deque: Likewise.
1324         * include/profile/vector: Likewise.
1325         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1326         Extend.
1327         * testsuite/23_containers/vector/bool/modifiers/insert/
1328         const_iterator.cc: Likewise.
1329         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1330         Likewise.
1332         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1333         Adjust dg-error line number.
1334         * testsuite/23_containers/deque/requirements/dr438/
1335         constructor_1_neg.cc: Likewise.
1336         * testsuite/23_containers/deque/requirements/dr438/
1337         constructor_2_neg.cc: Likewise.
1338         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1339         Likewise.
1340         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1341         Likewise.
1342         * testsuite/23_containers/vector/requirements/dr438/
1343         constructor_1_neg.cc: Likewise.
1344         * testsuite/23_containers/vector/requirements/dr438/
1345         constructor_2_neg.cc: Likewise.
1346         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1347         Likewise.
1349 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
1351         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
1352         insert methods.
1353         * include/bits/hashtable.h: Likewise.
1354         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
1355         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
1356         New.
1357         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1358         Adjust dg-error line number.
1359         * testsuite/23_containers/unordered_set/
1360         not_default_constructible_hash_neg.cc: Likewise.
1361         * doc/xml/manual/containers.xml: Document hinting in unordered
1362         containers.
1364 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
1366         * testsuite/21_strings/basic_string/operations/*: Move inside
1367         testsuite/21_strings/basic_string/operations/data/.
1368         * testsuite/21_strings/basic_string/compare/*: Move inside
1369         testsuite/21_strings/basic_string/operations/.
1370         * testsuite/21_strings/basic_string/find/*: Likewise.
1371         * testsuite/21_strings/basic_string/rfind/*: Likewise.
1372         * testsuite/21_strings/basic_string/substr/*: Likewise.
1374 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
1376         * testsuite/21_strings/basic_string/append/*: Move inside
1377         testsuite/21_strings/basic_string/modifiers/.
1378         * testsuite/21_strings/basic_string/assign/*: Likewise.
1379         * testsuite/21_strings/basic_string/insert/*: Likewise.
1380         * testsuite/21_strings/basic_string/replace/*: Likewise.
1381         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
1382         pop_back.cc: Rename to 1.cc.
1383         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
1384         pop_back.cc: Likewise.
1385         * testsuite/ext/vstring/assign/*: Move inside
1386         testsuite/ext/vstring/modifiers/.
1388 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
1390         * include/bits/stl_deque.h (deque<>::insert(iterator,
1391         const value_type&), deque<>::insert(iterator, value_type&&),
1392         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
1393         take a const_iterator.
1394         (deque<>::erase): Simplify.
1395         * include/bits/stl_list.h: Likewise.
1396         (_List_iterator<>::_M_const_cast): Add.
1397         * include/bits/stl_vector.h: Likewise.
1398         * include/bits/stl_bvector.h: Likewise.
1399         (_Bit_iterator::_M_const_cast): Add.
1400         * include/bits/deque.tcc: Adjust definitions.
1401         * include/bits/list.tcc: Likewise.
1402         * include/bits/vector.tcc: Likewise.
1403         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1404         Define trivial version in C++98 mode.
1405         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
1406         __versa_string<>::replace(iterator, iterator, const __versa_string&),
1407         __versa_string<>::replace(iterator, iterator, const _CharT*,
1408         size_type), __versa_string<>::replace(iterator, iterator,
1409         const _CharT*), __versa_string<>::replace(iterator, iterator,
1410         size_type, _CharT)): Adjust C++11 signatures to take a pair of
1411         const_iterators.
1412         * include/debug/deque: Adjust.
1413         * include/debug/list: Likewise.
1414         * include/debug/vector: Likewise.
1415         * include/profile/deque: Likewise.
1416         * include/profile/list: Likewise.
1417         * include/profile/vector: Likewise.
1418         (vector<>::emplace): Add.
1419         * testsuite/util/exception/safety.h: Update.
1420         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
1421         New.
1422         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1423         Likewise.
1424         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
1425         Likewise.
1426         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1427         Likewise.
1428         * testsuite/23_containers/vector/bool/modifiers/insert/
1429         const_iterator.cc: Likewise.
1430         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
1431         Likewise.
1432         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1433         Likewise.
1434         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1435         Likewise.
1436         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1437         Likewise.
1438         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1439         Likewise.
1440         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1441         Likewise.
1443         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
1444         ext/vstring/modifiers/erase/char/.
1445         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
1446         ext/vstring/modifiers/wchar_t/.
1447         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
1448         ext/vstring/modifiers/pop_back/char/.
1449         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
1450         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
1452         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1453         Adjust dg-error line number.
1454         * testsuite/23_containers/deque/requirements/dr438/
1455         constructor_1_neg.cc: Likewise.
1456         * testsuite/23_containers/deque/requirements/dr438/
1457         constructor_2_neg.cc: Likewise.
1458         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1459         Likewise.
1460         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1461         Likewise.
1462         * testsuite/23_containers/list/requirements/dr438/
1463         constructor_1_neg.cc: Likewise.
1464         * testsuite/23_containers/list/requirements/dr438/
1465         constructor_2_neg.cc: Likewise.
1466         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1467         Likewise.
1468         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1469         Likewise.
1470         * testsuite/23_containers/vector/requirements/dr438/
1471         constructor_1_neg.cc: Likewise.
1472         * testsuite/23_containers/vector/requirements/dr438/
1473         constructor_2_neg.cc: Likewise.
1474         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1475         Likewise.
1477 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
1479         Status page for C++2014 library features
1480         * doc/xml/faq.xml: Add link to new C++14 status page.
1481         * doc/xml/manual/intro.xml: Ditto.
1482         * doc/xml/manual/status_cxx2014.xml: New.
1484 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
1486         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
1487         spurious fails with check-debug.
1488         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
1489         Likewise.
1490         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
1491         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
1492         Likewise.
1494 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
1496         PR libstdc++/57704
1497         * include/bits/char_traits.h (char_traits<char>::lt): Implement
1498         LWG 467.
1499         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
1501 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1503         PR libstdc++/57691
1504         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
1505         declare per the letter of the C++ standard in terms of void.
1506         * include/c_std/cstdlib: Likewise.
1508 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
1510         PR libstdc++/57674
1511         * include/bits/random.h (binomial_distribution<>::_M_waiting):
1512         Add double parameter.
1513         * include/bits/random.tcc (binomial_distribution<>::operator()
1514         (_UniformRandomNumberGenerator&, const param_type&)): Pass
1515         __param._M_q to _M_waiting.
1516         (_M_waiting): Adjust.
1517         * testsuite/26_numerics/random/binomial_distribution/
1518         operators/values.cc: Add tests.
1520 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
1522         PR libstdc++/57666
1523         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
1524         Implement correctly C++11 26.6.2.3/1.
1525         * testsuite/26_numerics/valarray/dr630-3.C: New.
1527 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1529         PR libstdc++/57641
1530         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
1531         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
1532         to handle conversion between different clocks. Replace constrained
1533         __try_lock_for_impl overloads with conditional increment.
1534         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
1535         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
1537 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
1538             Chris Jefferson  <chris@bubblescope.net>
1540         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
1541         dispatch to traditional std::equal for random-access iterators.
1542         (__equal2_aux, __equal2): Remove.
1543         (__equal::equal): Remove unused overloads.
1544         * include/bits/stl_algo.h (is_permutation): Fix typos.
1546 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1548         * include/std/shared_mutex (shared_lock::operator=): Add missing
1549         return statement.
1551 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1553         PR libstdc++/57263
1554         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
1555         allocator's pointer type.
1556         * include/bits/hashtable.h (_Hashtable): Likewise.
1557         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
1558         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
1559         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
1560         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
1562 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1564         * include/std/shared_mutex: Implement N3659.
1565         * include/bits/c++14_warning.h: New.
1566         * include/Makefile.am: Add new headers.
1567         * include/Makefile.in: Regenerate.
1568         * testsuite/30_threads/shared_lock/cons/1.cc: New.
1569         * testsuite/30_threads/shared_lock/locking/2.cc: New.
1570         * testsuite/30_threads/shared_lock/cons/2.cc: New.
1571         * testsuite/30_threads/shared_lock/locking/3.cc: New.
1572         * testsuite/30_threads/shared_lock/cons/3.cc: New.
1573         * testsuite/30_threads/shared_lock/locking/4.cc: New.
1574         * testsuite/30_threads/shared_lock/cons/4.cc: New.
1575         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
1576         * testsuite/30_threads/shared_lock/cons/5.cc: New.
1577         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
1578         * testsuite/30_threads/shared_lock/cons/6.cc: New.
1579         * testsuite/30_threads/shared_lock/requirements/
1580         explicit_instantiation.cc: New.
1581         * testsuite/30_threads/shared_lock/locking/1.cc: New.
1582         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
1583         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
1584         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
1585         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
1586         * testsuite/30_threads/shared_mutex/requirements/
1587         standard_layout.cc: New.
1588         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
1589         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
1591 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
1593         PR libstdc++/57619
1594         * include/bits/unordered_map.h (unordered_map<>::insert,
1595         unordered_multimap<>::insert): Use std::forward, not std::move.
1596         * testsuite/23_containers/unordered_map/insert/57619.C: New.
1597         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1599 2013-06-14  Alan Modra  <amodra@gmail.com>
1601         * configure.host (abi_baseline_pair): Match powerpc64*.
1603 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
1605         * include/std/type_traits (is_function): Support ref-qualified
1606         functions.
1607         (is_copy_constructible, is_move_constructible, is_copy_assignable,
1608         is_move_assignable, is_nothrow_copy_constructible,
1609         is_nothrow_move_constructible, is_nothrow_copy_assignable,
1610         is_nothrow_move_assignable): Implement LWG 2196.
1611         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
1612         LWG 2101.
1613         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
1614         unused.
1615         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
1616         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
1617         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
1618         * testsuite/20_util/is_assignable/value.cc: Likewise.
1619         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1620         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
1621         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
1622         * testsuite/20_util/is_function/value.cc: Likewise.
1623         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
1624         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
1625         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
1626         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
1627         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
1628         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
1630         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1631         line number.
1632         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1633         Likewise.
1634         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1635         Likewise.
1637 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
1639         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
1640         __gnu_cxx::__airy_bi()): Remove.
1641         * testsuite/tr1/5_numerical_facilities/special_functions/
1642         10_cyl_bessel_k/airy.cc: Fix.
1644 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
1646         PR libstdc++/56430
1647         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
1648         from void function.
1649         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
1650         * testsuite/tr1/5_numerical_facilities/special_functions/
1651         10_cyl_bessel_k/airy.cc: New.
1653 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
1655         Fix library literals error involving namespace __detail.
1656         * include/std/chrono: Rename __detail to __select_type. Reformat.
1657         * include/bits/basic_string.h: Reformat.
1658         * testsuite/20_util/duration/literals/ns_detail.cc: New.
1660 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
1662         PR libstdc++/56019
1663         * include/c_global/cstddef (max_align_t): Add to namespace std.
1664         * include/c_std/cstddef: Likewise.
1665         * testsuite/18_support/max_align_t/requirements/1.cc: New.
1666         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
1668 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
1670         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
1671         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
1672         * include/bits/stl_multimap.h: Same.
1673         * include/bits/stl_multiset.h: Same.
1674         * include/bits/stl_set.h: Same.
1675         * include/bits/stl_tree.h: Same.
1676         * include/std/complex (real, imag): Use macro for abi_tag.
1678         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
1679         * testsuite/util/testsuite_containers.h (erase_external): New
1680         declarations.
1681         (erase_external_iterators): Same.
1682         (linkage_check_cxx98_cxx11_erase): Same.
1683         (linkage_check_cxx98_cxx11_erase_iterators): Same.
1684         * testsuite/util/testsuite_shared.cc: Define.
1685         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
1686         * testsuite/23_containers/map/modifiers/erase/
1687         dr130-linkage-check.cc: New.
1688         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
1689         * testsuite/23_containers/multimap/modifiers/erase/
1690         dr130-linkage-check.cc: New.
1691         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
1692         * testsuite/23_containers/multiset/modifiers/erase/
1693         dr130-linkage-check.cc: New.
1694         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
1695         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
1696         New.
1697         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
1699         * testsuite/23_containers/map/dr130.cc: Move...
1700         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
1701         * testsuite/23_containers/multimap/dr130.cc: Move ...
1702         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
1703         * testsuite/23_containers/multiset/dr130.cc: Move...
1704         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
1705         * testsuite/23_containers/set/dr130.cc: Move...
1706         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
1708 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
1710         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
1711         handling of Linux-based x86 systems to cover all GNU systems.
1712         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
1713         * testsuite/18_support/pthread_guard.cc: Likewise.
1714         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1715         Likewise.
1716         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
1717         Likewise.
1718         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1719         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1720         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
1721         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
1722         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1723         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1724         * testsuite/23_containers/list/pthread1.cc: Likewise.
1725         * testsuite/23_containers/list/pthread5.cc: Likewise.
1726         * testsuite/23_containers/map/pthread6.cc: Likewise.
1727         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
1728         Likewise.
1729         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1730         Likewise.
1731         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1732         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1733         * testsuite/30_threads/async/42819.cc: Likewise.
1734         * testsuite/30_threads/async/49668.cc: Likewise.
1735         * testsuite/30_threads/async/54297.cc: Likewise.
1736         * testsuite/30_threads/async/any.cc: Likewise.
1737         * testsuite/30_threads/async/async.cc: Likewise.
1738         * testsuite/30_threads/async/launch.cc: Likewise.
1739         * testsuite/30_threads/async/sync.cc: Likewise.
1740         * testsuite/30_threads/call_once/39909.cc: Likewise.
1741         * testsuite/30_threads/call_once/49668.cc: Likewise.
1742         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1743         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1744         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1745         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1746         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1747         * testsuite/30_threads/condition_variable/members/53841.cc:
1748         Likewise.
1749         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1750         Likewise.
1751         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1752         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1753         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1754         * testsuite/30_threads/condition_variable_any/members/1.cc:
1755         Likewise.
1756         * testsuite/30_threads/condition_variable_any/members/2.cc:
1757         Likewise.
1758         * testsuite/30_threads/future/cons/move.cc: Likewise.
1759         * testsuite/30_threads/future/members/45133.cc: Likewise.
1760         * testsuite/30_threads/future/members/get.cc: Likewise.
1761         * testsuite/30_threads/future/members/get2.cc: Likewise.
1762         * testsuite/30_threads/future/members/share.cc: Likewise.
1763         * testsuite/30_threads/future/members/valid.cc: Likewise.
1764         * testsuite/30_threads/future/members/wait.cc: Likewise.
1765         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1766         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1767         * testsuite/30_threads/lock/1.cc: Likewise.
1768         * testsuite/30_threads/lock/2.cc: Likewise.
1769         * testsuite/30_threads/lock/3.cc: Likewise.
1770         * testsuite/30_threads/lock/4.cc: Likewise.
1771         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1772         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1773         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1774         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1775         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1776         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1777         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1778         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1779         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1780         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1781         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1782         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1783         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1784         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1785         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1786         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
1787         Likewise.
1788         * testsuite/30_threads/packaged_task/members/get_future.cc:
1789         Likewise.
1790         * testsuite/30_threads/packaged_task/members/get_future2.cc:
1791         Likewise.
1792         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1793         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1794         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1795         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1796         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1797         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1798         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1799         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1800         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
1801         * testsuite/30_threads/promise/cons/1.cc: Likewise.
1802         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1803         * testsuite/30_threads/promise/cons/move.cc: Likewise.
1804         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
1805         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
1806         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
1807         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1808         * testsuite/30_threads/promise/members/set_exception2.cc:
1809         Likewise.
1810         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
1811         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1812         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1813         * testsuite/30_threads/promise/members/swap.cc: Likewise.
1814         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1815         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1816         Likewise.
1817         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1818         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
1819         Likewise.
1820         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1821         Likewise.
1822         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1823         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1824         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1825         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1826         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1827         Likewise.
1828         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1829         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1830         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1831         Likewise.
1832         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1833         Likewise.
1834         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
1835         Likewise.
1836         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
1837         Likewise.
1838         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1839         Likewise.
1840         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1841         Likewise.
1842         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1843         Likewise.
1844         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1845         Likewise.
1846         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1847         Likewise.
1848         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
1849         Likewise.
1850         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1851         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1852         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
1853         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1854         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1855         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
1856         * testsuite/30_threads/shared_future/members/wait_for.cc:
1857         Likewise.
1858         * testsuite/30_threads/shared_future/members/wait_until.cc:
1859         Likewise.
1860         * testsuite/30_threads/this_thread/1.cc: Likewise.
1861         * testsuite/30_threads/this_thread/2.cc: Likewise.
1862         * testsuite/30_threads/this_thread/3.cc: Likewise.
1863         * testsuite/30_threads/this_thread/4.cc: Likewise.
1864         * testsuite/30_threads/thread/cons/1.cc: Likewise.
1865         * testsuite/30_threads/thread/cons/2.cc: Likewise.
1866         * testsuite/30_threads/thread/cons/3.cc: Likewise.
1867         * testsuite/30_threads/thread/cons/4.cc: Likewise.
1868         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
1869         * testsuite/30_threads/thread/cons/5.cc: Likewise.
1870         * testsuite/30_threads/thread/cons/6.cc: Likewise.
1871         * testsuite/30_threads/thread/cons/7.cc: Likewise.
1872         * testsuite/30_threads/thread/cons/8.cc: Likewise.
1873         * testsuite/30_threads/thread/cons/9.cc: Likewise.
1874         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
1875         * testsuite/30_threads/thread/members/1.cc: Likewise.
1876         * testsuite/30_threads/thread/members/2.cc: Likewise.
1877         * testsuite/30_threads/thread/members/3.cc: Likewise.
1878         * testsuite/30_threads/thread/members/4.cc: Likewise.
1879         * testsuite/30_threads/thread/members/5.cc: Likewise.
1880         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
1881         Likewise.
1882         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1883         * testsuite/30_threads/thread/native_handle/typesizes.cc:
1884         Likewise.
1885         * testsuite/30_threads/thread/swap/1.cc: Likewise.
1886         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1887         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
1888         Likewise.
1889         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1890         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1891         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
1892         Likewise.
1893         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1894         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1895         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1896         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1897         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1898         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1899         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1900         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1901         * testsuite/30_threads/try_lock/1.cc: Likewise.
1902         * testsuite/30_threads/try_lock/2.cc: Likewise.
1903         * testsuite/30_threads/try_lock/3.cc: Likewise.
1904         * testsuite/30_threads/try_lock/4.cc: Likewise.
1905         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1906         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1907         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1908         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1909         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1910         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1911         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1912         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1913         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1914         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1915         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1916         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1917         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
1918         * testsuite/ext/profile/mh.cc: Likewise.
1919         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1920         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
1921         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
1922         Likewise.
1923         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1924         Likewise.
1925         * testsuite/util/testsuite_performance.h: Extend current handling
1926         of Linux-based systems to cover all glibc-based systems.
1928 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1930         * include/std/mutex (call_once): Remove parentheses to fix error in
1931         c++1y and gnu++1y mode.
1932         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
1933         thread to avoid undefined behaviour.
1935 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
1937         Simplify and clean up library literals.
1938         * include/std/chrono: Simplify namespace and versioning management.
1939         * include/bits/basic_string.h: Ditto.
1940         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
1941         * testsuite/20_util/duration/literals/values.cc: Ditto.
1942         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
1943         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
1945 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
1947         Implement N3654 - Quoted Strings Library Proposal
1948         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
1949         manipulators and supporting machinery in c++1y mode.
1950         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
1951         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
1953 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1955         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
1956         2162: Add noexcept.
1958 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1960         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
1961         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
1962         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
1963         * testsuite/25_algorithms/equal/2.cc: New.
1964         * testsuite/25_algorithms/equal/check_type2.cc: New.
1965         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
1966         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
1967         * testsuite/25_algorithms/mismatch/2.cc: New.
1968         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
1969         * testsuite/util/testsuite_iterators.h: Fix spelling.
1971 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1973         * include/std/type-traits (integral_constant::operator()): Implement
1974         N3545.
1975         * testsuite/20_util/integral_constant/call_operator.cc: New.
1976         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1977         line numbers.
1978         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1979         Likewise.
1980         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1981         Likewise.
1983 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
1985         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1987 2013-06-05  Tom Tromey  <tromey@redhat.com>
1989         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
1991 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
1993         PR c++/57419
1994         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
1996 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
1998         * include/std/chrono: Collapse redundant 'inline' from 'inline
1999         constexpr'.
2000         * include/std/tuple: Ditto.
2001         * include/bits/move.h: Ditto.
2003 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
2005         Implement N3642 - User-defined Literals for Standard Library Types
2006         * include/bits/parse_numbers.h: New.
2007         * include/std/chrono: Add duration literal operators.
2008         * include/bits/basic_string.h: Add string literal operators.
2009         * include/Makefile.in: Add parse_numbers.h.
2010         * include/Makefile.am: Ditto.
2011         * testsuite/20_util/duration/literals/values.cc: New.
2012         * testsuite/20_util/duration/literals/types.cc: New.
2013         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
2014         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
2015         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
2016         * testsuite/21_strings/basic_string/literals/values.cc: New.
2017         * testsuite/21_strings/basic_string/literals/types.cc: New.
2019 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2021         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
2022         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
2023         calling non-existent from_time_t.
2025 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2027         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2028         Regenerate.
2030 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
2032         * include/std/chrono: Wrap clocks in inline namespace _V2.
2033         * src/c++11/chrono.cc: Same.
2034         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
2035         file, with default configure macros selected.
2037         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
2038         namespace.
2039         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
2041         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2042         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2043         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2044         Regenerated.
2045         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2046         Regenerated.
2047         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2048         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2049         Regenerated.
2050         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2051         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2052         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2053         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2054         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2055         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2056         Regenerated.
2057         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2058         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2060 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2062         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
2063         (CLOCK_MONOTONIC): Define.
2065 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
2067         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
2068         overload.
2070         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
2072 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
2074         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
2075         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
2076         don't define system_clock::is_steady, system_clock::now() and
2077         steady_clock::is_steady.
2078         (std::chrono::system_clock::now()): If
2079         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
2080         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
2081         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
2082         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
2083         be non-empty.
2084         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
2085         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
2086         * src/c++11/compatibility-chrono.cc: New file.
2087         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
2088         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
2089         * testsuite/util/testsuite_abi.cc (check_version): Add
2090         GLIBCXX_3.4.20 version and make it the latest.
2091         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
2092         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
2093         @@GLIBCXX_3.4.20 instead.
2094         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2095         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2096         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2097         Regenerated.
2098         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2099         Regenerated.
2100         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2101         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2102         Regenerated.
2103         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2104         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2105         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2106         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2107         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2108         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2109         Regenerated.
2110         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2111         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2112         * config.h.in: Regenerated.
2113         * src/Makefile.in: Regenerated.
2114         * configure: Regenerated.
2116 2013-05-23  Matthias Klose  <doko@ubuntu.com>
2118         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2119         (ext_headers): Remove ${ext_host_headers}.
2120         (stamp-${host_alias}): Create ${host_builddir}/../ext.
2121         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2122         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2123         * include/Makefile.in: Regenerate.
2124         * include/ext/random: Include ext/opt_random.h.
2126 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2128         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
2129         enable features if target OS is known to support them.
2130         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
2131         * configure: Regenerate.
2133 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
2135         PR libstdc++/57336
2136         * include/std/functional (__invoke): Do not form function types with
2137         abstract return type.
2138         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
2140 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
2142         * include/std/tuple (get): Implement N3670.
2143         * include/std/utility (get): Likewise.
2144         * testsuite/20_util/pair/get.cc: Move to ...
2145         * testsuite/20_util/pair/astuple/get.cc: Here.
2146         * testsuite/20_util/pair/astuple/astuple.cc: New.
2147         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
2148         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
2149         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
2150         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
2151         * testsuite/20_util/pair/astuple/get_neg.cc: New.
2152         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
2153         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
2154         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
2156 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
2158         * Revert last commit.
2160 2013-05-19  Matthias Klose  <doko@ubuntu.com>
2162         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2163         (ext_headers): Remove ${ext_host_headers}.
2164         (stamp-${host_alias}): Create ${host_builddir}/../ext.
2165         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2166         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2167         * include/Makefile.in: Regenerate.
2169 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2171         * include/std/system_error (error_category::error_category()): LWG
2172         2145: Declare public and constexpr.
2173         * src/c++11/system_error.cc (error_category::error_category()): Move
2174         definition to ...
2175         * src/c++11/compatibility-c++0x.cc: Here.
2177 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2179         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
2181 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2183         * include/bits/unique_ptr.h (make_unique): Declare inline.
2184         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
2185         (default_delete, unique_ptr): Add doxygen comments.
2186         * include/bits/shared_ptr_base.h: Improve doxygen comments.
2187         * include/bits/shared_ptr.h: Likewise.
2188         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
2189         number.
2190         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
2192 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2194         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2196 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2198         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2200 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2202         * include/std/utility (exchange): Define.
2203         * testsuite/20_util/exchange/1.cc: New.
2205 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2207         * include/bits/unique_ptr.h (make_unique): Define.
2208         * testsuite/20_util/unique_ptr/creation/single.cc: New.
2209         * testsuite/20_util/unique_ptr/creation/array.cc: New.
2210         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
2212 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
2214         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
2215         rendering of std::tr1 unordered containers iterator.
2216         (StdHashtableIterator): New, render std unordered containers iterator.
2217         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
2219 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2221         * include/bits/basic_string.h (getline): Fix doxygen comments.
2223 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
2225         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2226         Use std::pointer_traits.
2228 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2230         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
2231         bad_array_new.cc.
2232         * libsupc++/Makefile.in: Regenerate.
2233         * libsupc++/bad_array_length.cc: Tweak.
2234         * libsupc++/bad_array_new.cc: Tweak.
2236 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
2238         PR libstdc++/54577
2239         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
2240         (_Deque_iterator<>::_M_const_cast): Add.
2241         (deque<>::_M_erase): Declare.
2242         * include/bits/deque.tcc: ... and define.
2243         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
2244         (_List_const_iterator<>::_M_const_cast): Add.
2245         * include/bits/list.tcc (erase (iterator)): Fix.
2246         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2247         Add; include <ext/cast.h>.
2248         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
2249         (vector<>::_M_erase): Declare.
2250         * include/bits/stl_bvector.h: Likewise.
2251         * include/bits/vector.tcc (vector<>::_M_erase): Define.
2252         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
2253         * include/debug/deque: Adjust.
2254         * include/debug/list: Likewise.
2255         * include/debug/vector: Likewise.
2256         * include/profile/deque: Likewise.
2257         * include/profile/list: Likewise.
2258         * include/profile/vector: Likewise.
2259         * testsuite/util/exception/safety.h (erase_base<deque>,
2260         erase_base<deque>, erase_base<vector>): Remove.
2261         (erase_base<__versa_string>): Update.
2262         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
2263         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
2264         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
2265         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
2266         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
2267         Likewise.
2268         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
2269         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2270         Adjust dg-error line numbers.
2271         * testsuite/23_containers/deque/requirements/dr438/
2272         constructor_1_neg.cc: Likewise.
2273         * testsuite/23_containers/deque/requirements/dr438/
2274         constructor_2_neg.cc: Likewise.
2275         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2276         Likewise.
2277         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2278         Likewise.
2279         * testsuite/23_containers/list/requirements/dr438/
2280         constructor_1_neg.cc: Likewise.
2281         * testsuite/23_containers/list/requirements/dr438/
2282         constructor_2_neg.cc: Likewise.
2283         * testsuite/23_containers/list/requirements/dr438/
2284         insert_neg.cc: Likewise.
2285         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2286         Likewise.
2287         * testsuite/23_containers/vector/requirements/dr438/
2288         constructor_1_neg.cc: Likewise.
2289         * testsuite/23_containers/vector/requirements/dr438/
2290         constructor_2_neg.cc: Likewise.
2291         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2292         Likewise.
2294 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
2296         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
2298 2013-05-08  Jason Merrill  <jason@redhat.com>
2300         Add std::bad_array_length (N3639)
2301         * libsupc++/new: Add std::bad_array_length.
2302         * libsupc++/bad_array_length.cc: New.
2303         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
2304         * libsupc++/Makefile.in: Build them.
2305         * config/abi/pre/gnu.ver: Add new symbols.
2306         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2308 2013-05-08  Andi Kleen  <ak@linux.intel.com>
2310         PR target/55947
2311         * libstdc++-v3/include/bits/atomic_base.h
2312         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
2313         (atomic_thread_fence, atomic_signal_fence, test_and_set,
2314         clear, store, load, exchange, compare_exchange_weak)
2315         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
2316         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
2318 2013-05-08  Jason Merrill  <jason@redhat.com>
2320         Add std::bad_array_new_length (N2932)
2321         * libsupc++/new: Add std::bad_array_new_length.
2322         * libsupc++/bad_array_new.cc: New.
2323         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
2324         * libsupc++/Makefile.in: Build them.
2325         * config/abi/pre/gnu.ver: Add new symbols.
2326         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2328 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
2330         PR libstdc++/57212
2331         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
2332         to __MINGW32__.
2333         * include/Makefile.in: Regenerated.
2335 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
2337         * include/profile/unordered_base.h: New.
2338         * include/Makefile.am: Add new profile header.
2339         * include/Makefile.in: Regenerate.
2340         * include/profile/impl/profiler.h
2341         (__profcxx_inefficient_hash_is_on): New macro.
2342         * include/profile/unordered_map (std::profile::unordered_map<>):
2343         Use new _Unordered_profile base class. Use default implementations
2344         for special functions.
2345         (std::profile::unordered_multimap<>): Likewise.
2346         * include/profile/unordered_set (std::profile::unordered_set<>):
2347         Likewise.
2348         (std::profile::unordered_multiset<>): Likewise.
2349         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
2350         MoveOnly equality operator signature.
2352 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
2354         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
2355         constexpr_data.cc: Move...
2356         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
2357         ... here.
2358         * testsuite/20_util/integral_constant/requirements/
2359         explicit_instantiation.cc: New.
2360         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
2361         Likewise.
2362         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
2363         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
2364         Likewise.
2365         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
2366         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
2368 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
2370         * include/std/type_traits (is_null_pointer): Add.
2371         (__is_nullptr_t): Implement in terms of the latter.
2372         (is_fundamental, is_scalar): Adjust.
2373         * testsuite/20_util/is_null_pointer/requirements/
2374         explicit_instantiation.cc: New.
2375         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
2376         Likewise.
2377         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
2378         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2379         line number.
2380         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2381         Likewise.
2382         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2383         Likewise.
2385 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
2387         * include/c_global/cstdio: Add comment about LWG 2249.
2388         * include/c_std/cstdio: Likewise.
2390 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2392         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
2393         comment.
2394         * include/std/mutex (__recursive_mutex_base): Likewise.
2396 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2398         PR libstdc++/51365
2399         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
2400         implement EBO safely.
2401         (_Sp_counted_base::_M_get_deleter): Add noexcept.
2402         (_Sp_counter_ptr): Use noexcept instead of comments.
2403         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
2404         (_Sp_counted_ptr_inplace): Likewise.
2405         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
2406         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
2407         custom allocator and test construction with custom allocator.
2408         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
2409         line number.
2411 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
2413         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
2414         dialect to -std=gnu++11.
2416 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
2418         * include/bits/hashtable_policy.h
2419         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
2420         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
2422 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
2424         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
2425         * include/c_std/cstdio (gets): Likewise.
2426         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
2428 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
2430         PR libstdc++/57065
2431         * include/debug/unordered_map (unordered_map, unordered_multimap):
2432         Fix default allocator type.
2433         * include/profile/unordered_map (unordered_map, unordered_multimap):
2434         Likewise.
2435         * include/bits/unordered_map.h: Fix comments.
2437 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
2439         PR libstdc++/56905
2440         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
2441         move implementation to make_exception_ptr.
2442         * include/std/future (_State_base::_M_break_promise): Replace
2443         copy_exception with make_exception_ptr.
2444         * testsuite/18_support/exception_ptr/move.cc: Likewise.
2445         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
2446         * testsuite/30_threads/future/members/get2.cc: Likewise.
2447         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2448         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2449         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2450         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2452 2013-04-22  Jason Merrill  <jason@redhat.com>
2454         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
2456         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
2457         substitution" lines.
2459         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
2460         function-cv-quals.
2461         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2462         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
2463         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
2465 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
2467         * include/bits/hashtable_policy.h: Add C++11 allocator support.
2468         * include/bits/hashtable.h: Likewise.
2469         * include/bits/unordered_set.h: Likewise.
2470         * include/bits/unordered_map.h: Likewise.
2471         * include/debug/unordered_set: Likewise.
2472         * include/debug/unordered_map: Likewise.
2473         * include/std/unordered_set: Remove bits/algobase.h
2474         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
2475         * include/std/unordered_map: Likewise.
2476         * include/ext/throw_allocator.h: Add checks on calls to allocator
2477         construct/destroy.
2478         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
2479         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
2480         * testsuite/util/regression/rand/priority_queue
2481         /container_rand_regression_test.tcc: Adapt.
2482         * testsuite/util/regression/rand/assoc
2483         /container_rand_regression_test.tcc: Likewise.
2484         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
2485         * testsuite/23_containers/unordered_set
2486         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
2487         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
2488         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
2489         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
2490         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
2491         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
2492         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
2493         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
2494         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
2495         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
2496         New.
2497         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
2498         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
2499         New.
2500         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
2501         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
2502         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
2503         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
2504         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
2505         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
2506         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
2507         New.
2508         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
2509         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
2510         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
2511         New.
2512         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
2513         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
2514         New.
2515         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
2516         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
2518 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2520         * include/std/type_traits (is_signed): Simplify.
2521         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2522         Adjust dg-error line numbers.
2523         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2524         Likewise.
2525         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2527 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2529         N3669
2530         * include/std/complex (complex<float>::real, complex<float>::imag,
2531         complex<double>::real, complex<double>::imag,
2532         complex<long double>::real, complex<long double>::imag): Declare
2533         as const member functions.
2534         * include/std/type_traits (integral_constant<>::operator value_type):
2535         Likewise.
2537 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2539         PR libstdc++/57010
2540         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
2541         * testsuite/25_algorithms/pop_heap/57010.cc: New.
2543 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
2545         * src/c++11/system_error.cc (generic_category_instance): Add
2546         initializer.
2547         (system_category_instance): Likewise.
2548         * src/c++11/future.cc (__fec): Likewise.
2550 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2552         * doc/xml/manual/extensions.xml: Fix anachronism.
2554 2013-04-09  Tom Tromey  <tromey@redhat.com>
2556         * configure, config.h.in: Rebuild.
2557         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
2558         sys/sdt.h.
2559         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
2561 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
2563         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2565 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
2567         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
2569 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2571         * include/Makefile.am: Add ext/aligned_buffer.h
2572         * include/Makefile.in: Regenerate.
2573         * include/ext/aligned_buffer.h: New.
2574         * include/std/future (_Result): Use __aligned_buffer.
2575         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
2576         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
2577         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
2578         number.
2580 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2582         * include/bits/forward_list.h: Only include required headers.
2583         (forward_list::reference): Define directly, not using __alloc_traits.
2584         (forward_list::const_reference): Likewise.
2586 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
2588         * include/std/functional (_Derives_from_unary_function): Remove.
2589         (_Derives_from_binary_function): Remove.
2590         * include/std/type_traits (__sfinae_types): Remove.
2591         (__is_assignable_helper): Adapt.
2592         (__is_convertible_helper): Adapt.
2593         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
2594         Remove several explicit instantiations of integral_constant.
2595         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
2596         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2597         Adapt dg-error line number.
2598         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2599         Likewise.
2600         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2601         * testsuite/20_util/bind/ref_neg.cc: Likewise.
2603 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2605         PR libstdc++/56841
2606         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
2607         get_terminate() accessors.
2608         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2609         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
2610         available.
2611         * libsupc++/new_handler.cc: Likewise.
2613 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2615         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
2617 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
2619         PR libstdc++/56834
2620         * include/debug/array (tuple_size, tuple_element): Do not declare.
2621         * include/profile/array: Likewise.
2622         * testsuite/23_containers/array/tuple_interface/
2623         tuple_element_debug_neg.cc: Adjust dg-error line number.
2625 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
2627         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
2628         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
2629         Define.
2630         (set_terminate(terminate_handler)): Set atomically.
2631         (set_unexpected(terminate_handler)): Likewise.
2632         * libsupc++/new (get_new_handler()): Declare.
2633         * libsupc++/new_handler.cc (get_new_handler()): Define.
2634         (set_new_handler(new_handler)): Set atomically.
2635         (__new_handler): Use internal linkage.
2636         * libsupc++/new_op.cc (operator new): Use get_new_handler().
2637         * libsupc++/new_opnt.cc (operator new): Likewise.
2638         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
2639         * configure: Regenerate.
2640         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
2641         * libsupc++/Makefile.in: Regenerate.
2642         * config/abi/pre/gnu.ver: Add new exports.
2643         * doc/xml/manual/status_cxx2011.xml: Update.
2644         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
2645         for handlers.
2646         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
2647         * testsuite/18_support/new_handler.cc: New.
2648         * testsuite/18_support/terminate_handler.cc: New.
2649         * testsuite/18_support/unexpected_handler.cc: New.
2651 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2653         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
2654         defer to general documentation on contributing to GCC.
2655         * doc/html/*: Regenerate.
2657 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
2659         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
2661         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
2662         Coding Standards.
2664         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
2666         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
2668         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
2670         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
2672         * doc/xml/manual/policy_data_structures: Remove direct link to
2673         IBM Haifa Research Labs.
2675         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
2676         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
2678         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
2679         papers.
2681         * doc/xml/manual/shared_ptr.xml: Use canonical address for
2682         www.boost.org.
2684 2013-03-27  Kai Tietz  <ktietz@redhat.com>
2686         * crossconfig.m4: Add support for cygwin x64 target.
2687         * configure: Regenerated.
2689 2013-03-25  Kai Tietz  <ktietz@redhat.com>
2691         * testsuite/18_support/50594.cc: For mingw-targets use only static
2692         libstdc++-version.
2693         * testsuite/19_diagnostics/error_category/operators/equal.cc
2694         * testsuite/19_diagnostics/error_code/cons/1.cc
2695         * testsuite/19_diagnostics/error_code/operators/bool.cc
2696         * testsuite/19_diagnostics/error_code/operators/equal.cc
2697         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
2698         * testsuite/19_diagnostics/error_condition/cons/1.cc
2699         * testsuite/19_diagnostics/error_condition/operators/bool.cc
2700         * testsuite/19_diagnostics/error_condition/operators/equal.cc
2701         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
2702         * testsuite/23_containers/set/requirements/exception/basic.cc
2703         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
2704         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
2706 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
2708         PR libstdc++/56170
2709         * include/ext/debug_allocator.h (debug_allocator): Add missing members
2710         to meet allocator requirements.
2711         * testsuite/ext/debug_allocator/56170.cc: New.
2713 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
2715         PR libstdc++/56678
2716         * include/std/chrono (__is_ratio): Uglify T.
2718 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
2720         PR libstdc++/55977 (partial, std::vector and std::deque bits)
2721         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
2722         _InputIterator, std::input_iterator_tag)): Use emplace_back.
2723         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
2724         _InputIterator, std::input_iterator_tag)): Likewise.
2725         * testsuite/23_containers/vector/cons/55977.cc: New.
2726         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
2727         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2728         Adjust dg-error line number.
2729         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2730         Likewise.
2732 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
2734         PR libstdc++/55979
2735         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
2736         _InputIterator, __false_type)): Use emplace_back.
2737         * testsuite/23_containers/list/cons/55979.cc: New.
2738         * testsuite/23_containers/list/modifiers/1.h: Adjust.
2739         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2740         Adjust dg-error line number.
2742 2013-03-16  Jason Merrill  <jason@redhat.com>
2744         PR c++/55017
2745         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
2747 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2749         PR libstdc++/56468
2750         * libsupc++/exception_ptr.h (type_info): Declare.
2752 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2754         PR libstdc++/56002
2755         * include/std/mutex (lock_guard, unique_lock, lock): Define without
2756         depending on _GLIBCXX_HAS_GTHREADS.
2757         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
2759 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2761         PR libstdc++/56492
2762         * include/std/future (__future_base::_Result): Add result_type
2763         typedef.
2764         (__future_base::_S_allocate_result): Overload for std::allocator.
2765         (__future_base::_Task_setter): Use _Result::result_type instead of
2766         deducing the type from the task.
2767         (__future_base::_Task_state): Store allocator to allow shared state
2768         to be reset.  Replace std::function with member of target object type
2769         accessed via ...
2770         (__future_base::_Task_state_base): New abstract base class.
2771         (__future_base::_Task_state_base::_M_run): New virtual function to
2772         invoke type-erased target object.
2773         (__future_base::_Task_state_base::_M_reset): New virtual function to
2774         create new shared_state using same target object and allocator.
2775         (__future_base::__create_task_state): Allocate a new _Task_state.
2776         (packaged_task::packaged_task): Use __create_task_state.
2777         (packaged_task::reset): Use _Task_state_base::_M_reset.
2778         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
2780 2013-03-15  Tom Tromey  <tromey@redhat.com>
2782         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
2783         (PROBE2): New macro.
2784         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
2785         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
2786         * configure.ac: Check for sys/sdt.h.
2787         * configure, config.h.in: Rebuild.
2789 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2791         PR libstdc++/56613
2792         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
2793         allocator_traits instead of calling construct directly.
2794         * testsuite/23_containers/map/56613.cc: New.
2796 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
2798         * doc/html/*: Regenerate.
2800 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
2802         PR libstdc++/56609
2803         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
2804         * testsuite/20_util/is_fundamental/value.cc: Extend.
2805         * testsuite/20_util/is_compound/value.cc: Likewise.
2807 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
2809         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
2810         -Wunused warnings.
2812 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2814         * include/bits/memoryfwd.h: New. Centralize forward declarations.
2815         * include/bits/algorithmfwd.h: Consistent comments.
2816         * include/bits/localefwd.h: Same.
2817         * include/ext/vstring_fwd.h: Same.
2818         * include/parallel/algorithmfwd.h: Same.
2819         * include/parallel/numericfwd.h: Same.
2820         * include/std/iosfwd: Same.
2822         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
2823         forward decl.
2824         * include/ext/alloc_traits.h: Remove allocator forward decl.
2825         * include/bits/stl_construct.h: Same.
2826         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
2827         forward decl. Consistent comments.
2829         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
2831         * include/Makefile.am (bits_headers): Add memoryfwd.h.
2832         * include/Makefile.in: Regenerate.
2833         * configure: Same.
2835 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
2837         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
2838         Reset pointers after deallocation when memory can be reused.
2839         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
2840         elements to really challenge C++11 allocator integration.
2841         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
2842         * testsuite/23_containers/vector/allocator/copy_assign.cc:
2843         Likewise.
2844         * testsuite/23_containers/vector/allocator/move_assign.cc:
2845         Likewise.
2846         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
2847         swap vector back before checks on memory/personality mapping are
2848         performed.
2849         * testsuite/23_containers/forward_list/allocator/minimal.cc:
2850         Insert element to really challenge C++11 allocator integration.
2851         * testsuite/23_containers/forward_list/allocator/copy.cc:
2852         Likewise.
2853         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
2854         Likewise.
2855         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
2856         Likewise.
2857         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
2858         and swap forward_list back before checks on memory/personality
2859         mapping are performed.
2861 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
2863         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2864         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2865         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2866         Likewise.
2867         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2868         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2869         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2870         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2871         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2872         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2874 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2876         * scripts/extract_symvers.pl: Omit symbols bound to base
2877         versions.
2878         * scripts/extract_symvers.in: Likewise.
2879         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2880         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2881         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2882         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2883         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2885 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
2887         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
2888         Optimize generation function by pulling computation of __r into the
2889         constructor for param_type.  Also compare _M_mu in operator==.
2890         Fix comment.
2892 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
2894         Add triangular and von Mises distributions.
2895         * include/ext/random: Include <ext/cmath>.
2896         Add __gnu_cxx::triangular_distribution<> and
2897         __gnu_cxx::von_mises_distribution<> classes.
2898         * include/ext/random.tcc: Add out-of-line functions for
2899         __gnu_cxx::triangular_distribution<> and
2900         __gnu_cxx::von_mises_distribution<>.
2901         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
2902         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
2903         * testsuite/ext/triangular_distribution/operators/serialize.cc:
2904         New file.
2905         * testsuite/ext/triangular_distribution/operators/equal.cc:
2906         New file.
2907         * testsuite/ext/triangular_distribution/operators/inequal.cc:
2908         New file.
2909         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
2910         New file.
2911         * testsuite/ext/triangular_distribution/requirements/
2912         explicit_instantiation/1.cc: New file.
2913         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
2914         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
2915         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
2916         New file.
2917         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
2918         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
2919         New file.
2920         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
2921         New file.
2922         * testsuite/ext/von_mises_distribution/requirements/
2923         explicit_instantiation/1.cc: New file.
2925         Add math constants.
2926         * include/Makefile.am (ext_headers): Add cmath.
2927         * include/Makefile.in: Regenerated.
2928         * include/ext/cmath: New file.
2930 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2932         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2933         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2934         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2935         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2936         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2938 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2940         PR libstdc++/56012
2941         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
2942         * testsuite/29_atomics/atomic/operators/56012.cc: New.
2944         PR libstdc++/56011
2945         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
2946         missing overload.
2947         * testsuite/29_atomics/atomic/operators/56011.cc: New.
2949 2013-02-25  Jason Merrill  <jason@redhat.com>
2951         * configure.ac: Check for __cxa_thread_atexit_impl.
2952         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
2953         to it if available.
2954         * config.h.in, configure: Regenerate.
2956 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2958         * include/std/streambuf (basic_streambuf): Use injected class name
2959         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
2960         group.
2962 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2964         * doc/html/faq.html: Fix spelling.
2965         * doc/xml/faq.xml: Likewise.
2966         * include/bits/basic_ios.h: Likewise.
2967         * include/bits/regex.h: Likewise.
2968         * include/std/istream: Likewise.
2969         * include/std/streambuf: Likewise.
2971 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2973         * testsuite/23_containers/unordered_set/55043.cc: Add missing
2974         namespace qualification.
2975         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2977 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
2979         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
2980         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
2981         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
2982         * include/bits/stl_pair.h: Add to utilities group.
2983         * include/std/tuple: Same.
2984         * include/std/typeindex: Same.
2986         * include/bits/stringfwd.h: Fix markup.
2987         * include/std/limits: Same.
2988         * include/std/type_traits: Same.
2989         * include/tr1/memory: Same.
2990         * include/tr1/regex: Same.
2991         * scripts/run_doxygen: Comment.
2992         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
2994 2013-02-14  Jason Merrill  <jason@redhat.com>
2996         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
2997         test if unsupported.
2999 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
3001         PR libstdc++/56111
3002         * include/std/complex (complex): Undefine.
3003         * include/c_compatibility/complex.h (complex): Only undefine if
3004         <complex> has been included.
3005         * testsuite/26_numerics/complex/56111.cc: New testcase.
3007 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
3009         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
3010         default constructor protected.
3011         * include/bits/hashtable.h: static assert that _Hash_code_base has
3012         a default constructor available through inheritance.
3014 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
3016         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
3017         C++11 mode.
3019 2013-02-12  Julian Brown  <julian@codesourcery.com>
3021         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
3022         Don't expect dots after abbreviated weekday names for ru_RU for
3023         glibc versions >= 2.17.
3024         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
3025         Likewise.
3027 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
3029         * include/bits/random.tcc (__transform): Remove.
3030         (__normalize): Add.
3031         (discrete_distribution<>::param_type::_M_initialize): Adjust.
3032         (piecewise_constant_distribution<>::param_type::_M_initialize):
3033         Likewise.
3034         (piecewise_linear_distribution<>::param_type::_M_initialize):
3035         Likewise.
3037 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
3039         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
3040         Use -fimplicit-templates.
3041         * src/c++11/Makefile.in: Regenerate.
3042         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
3043         std::lower_bound template.
3045 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
3047         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
3048         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
3049         in C++11 mode and if available in the underlying C library.
3050         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
3051         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
3052         _GLIBCXX_HAVE_QUICK_EXIT.
3054 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
3056         * doc/html/*: Regenerate.
3058 2013-02-11  Jason Merrill  <jason@redhat.com>
3060         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
3061         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
3062         * config.h.in, configure: Regenerate.
3063         * include/c_std/cstdlib: Add atexit and at_quick_exit.
3064         * include/c_global/cstdlib: Add atexit and at_quick_exit.
3065         * testsuite/18_support/quick_exit/quick_exit.cc: New.
3067 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
3069         PR libstdc++/56282
3070         Revert:
3071         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
3073         PR libstdc++/56193
3074         * include/bits/basic_ios.h: Replace operator void*() const
3075         with explicit operator bool() const in C++11 and greater.
3076         * testsuite/27_io/basic_ios/pr56193.cc: New file.
3078 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
3079             Jonathan Wakely  <jwakely.gcc@gmail.com>
3081         * doc/xml/manual/containers.xml: Add section on unordered containers.
3082         * doc/xml/manual/using.xml: Fix incomplete sentence.
3084 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
3086         PR libstdc++/56267
3087         * include/bits/hashtable.h (__cache_default): Check if hash function
3088         is copy assignable.
3089         * testsuite/23_containers/unordered_set/56267.cc: New.
3090         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
3091         dg-error line number.
3092         * testsuite/23_containers/unordered_set/
3093         not_default_constructible_hash_neg.cc: Likewise.
3095         PR libstdc++/56278
3096         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
3097         constructor public.
3098         * testsuite/23_containers/unordered_set/56278.cc: New.
3100 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
3102         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
3103         simplification.
3105 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
3107         PR libstdc++/56216
3108         * include/tr1/special_function_util.h: Remove spurious const
3109         from numeric arguments.
3110         * include/tr1/riemann_zeta.tcc: Likewise.
3111         * include/tr1/exp_integral.tcc: Likewise.
3112         * include/tr1/bessel_function.tcc: Likewise.
3113         * include/tr1/hypergeometric.tcc: Likewise.
3114         * include/tr1/modified_bessel_func.tcc: Likewise.
3115         * include/tr1/poly_laguerre.tcc: Likewise.
3116         * include/tr1/gamma.tcc: Likewise.
3117         * include/tr1/legendre_function.tcc: Likewise.
3118         * include/tr1/poly_hermite.tcc: Likewise.
3119         * include/tr1/ell_integral.tcc: Likewise.
3120         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
3121         If argument is zero return function value.
3122         * testsuite/tr1/5_numerical_facilities/special_functions/
3123         08_cyl_bessel_i/pr56216.cc: New.
3125 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
3127         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
3129 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
3131         PR libstdc++/56193
3132         * include/bits/basic_ios.h: Replace operator void*() const
3133         with explicit operator bool() const in C++11 and greater.
3134         * testsuite/27_io/basic_ios/pr56193.cc: New file.
3136 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
3138         Add missing explicit instantiation for std::lower_bound template
3139         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
3140         missing instantiation for std::lower_bound template.
3142 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
3144         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
3145         * include/bits/basic_string.h: Specialize previous to mark
3146         std::hash for string types as slow.
3147         * include/bits/hashtable.h (__cache_default): Replace is_integral
3148         with __is_fast_hash.
3149         * src/c++11/hash_c++0x.cc: Add type_traits include.
3150         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3151         Adapt dg-error line number.
3152         * testsuite/23_containers/unordered_set/
3153         not_default_constructible_hash_neg.cc: Likewise.
3155 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3156             Paolo Carlini  <paolo.carlini@oracle.com>
3158         PR libstdc++/56202 (again)
3159         * include/bits/random.tcc (binomial_distribution<>::
3160         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
3161         in previous commit.
3163         * include/bits/random.h: Fix comment typo.
3165 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3166             Paolo Carlini  <paolo.carlini@oracle.com>
3168         PR libstdc++/56202
3169         * include/bits/random.tcc (binomial_distribution<>::
3170         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
3171         division by zero.
3173 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
3175         Update copyright years.
3176         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
3177         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
3178         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
3179         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
3180         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
3181         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
3182         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
3183         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
3184         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
3185         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
3186         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
3187         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
3188         testsuite/29_atomics/atomic/cons/assign_neg.cc,
3189         testsuite/29_atomics/atomic/cons/copy_neg.cc,
3190         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
3191         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
3192         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
3193         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
3194         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
3195         Update lines in dg error matches.
3197 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
3199         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
3201 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
3203         * include/bits/hashtable_policy.h
3204         (_Prime_rehash_policy::_M_next_bkt)
3205         (_Prime_rehash_policy::_M_need_rehash): Move definition...
3206         * src/c++11/hashtable_c++0x.cc: ... here.
3207         * src/shared/hashtable-aux.cc: Remove c++config.h include.
3208         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
3209         symbols.
3211 2013-01-29  Jason Merrill  <jason@redhat.com>
3213         PR libstdc++/54314
3214         * config/abi/pre/gnu.ver: Don't export construction vtables.
3215         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
3217 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3219         PR libstdc++/56112
3220         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
3221         to construct value_type explicitly before trying to extract the key.
3222         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
3224 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
3226         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
3227         _Hashtable_ebo_helper to embed functors into the local_iterator
3228         when necessary. Pass information about functors involved in hash
3229         code by copy.
3230         * include/bits/hashtable.h (__cache_default): Do not cache for
3231         builtin integral types unless the hash functor is not noexcept
3232         qualified or is not default constructible. Adapt static assertions
3233         and local iterator instantiations.
3234         * include/debug/unordered_set
3235         (std::__debug::unordered_set<>::erase): Detect local iterators to
3236         invalidate using contained node rather than generating a dummy
3237         local_iterator instance.
3238         (std::__debug::unordered_multiset<>::erase): Likewise.
3239         * include/debug/unordered_map
3240         (std::__debug::unordered_map<>::erase): Likewise.
3241         (std::__debug::unordered_multimap<>::erase): Likewise.
3242         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
3243         std::tr1 and std versions of unordered_set regardless of any
3244         macro. Add test on default cache behavior.
3245         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
3246         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3247         Adapt line number.
3248         * testsuite/23_containers/unordered_set/
3249         not_default_constructible_hash_neg.cc: New.
3250         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
3252 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
3254         PR libstdc++/56085
3255         * include/std/complex (pow(const complex<>&, int)): Avoid __n
3256         signed overflow.
3258 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
3260         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3261         Tightten scan-assembler-times regexps, add dg-additional-options for
3262         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
3263         dg-options.
3265 2013-01-12  Andi Kleen  <ak@linux.intel.com>
3266             Jonathan Wakely  <jwakely.gcc@gmail.com>
3268         PR libstdc++/55233
3269         * include/bits/atomic_base.h (__memory_order_modifier): Add
3270         __memory_order_mask, __memory_order_modifier_mask,
3271         __memory_order_hle_acquire, __memory_order_hle_release.
3272         (operator|,operator&): Add.
3273         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
3274         (__cmpexch_failure_order): Add.
3275         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
3276         Handle flags.
3277         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3278         Add.
3280 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
3282         PR libstdc++/55861
3283         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
3284         Fix return type.
3285         (__basic_future::_M_get_result()): Const qualify.
3286         (shared_future::get()): Likewise.
3287         * testsuite/30_threads/shared_future/members/get.cc: Use const
3288         objects.
3290 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3292         PR libstdc++/55043 (again)
3293         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
3294         unless construction would be well-formed.
3295         (__allow_copy_cons, __check_copy_constructible): Define.
3296         * include/bits/unordered_map.h (__check_copy_constructible): Use as
3297         base class so copy constructor will be deleted if appropriate.
3298         (is_copy_constructible): Remove specialization.
3299         * include/bits/unordered_set.h: Likewise.
3300         * include/debug/unordered_map.h: Undo previous commit. Default copy
3301         and move constructors.
3302         * include/debug/unordered_set.h: Likewise.
3303         * include/profile/unordered_map.h: Undo previous commit.
3304         * include/profile/unordered_set.h: Likewise.
3305         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
3306         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
3307         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3308         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
3309         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
3310         cannot support incomplete types.
3311         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
3312         Likewise.
3314 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3316         PR libstdc++/55043
3317         * include/std/unordered_map: Include alloc_traits.h
3318         * include/std/unordered_set: Likewise.
3319         * include/bits/alloc_traits.h: Define __is_copy_insertable.
3320         * include/bits/unordered_map.h: Use it.
3321         * include/bits/unordered_set.h: Likewise.
3322         * include/debug/unordered_map.h: Likewise.
3323         * include/debug/unordered_set.h: Likewise.
3324         * include/profile/unordered_map.h: Likewise.
3325         * include/profile/unordered_set.h: Likewise.
3326         * include/bits/hashtable.h: Fix comment typos.
3327         * testsuite/23_containers/unordered_map/55043.cc: New.
3328         * testsuite/23_containers/unordered_multimap/55043.cc: New.
3329         * testsuite/23_containers/unordered_multiset/55043.cc: New.
3330         * testsuite/23_containers/unordered_set/55043.cc: New.
3332 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
3334         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
3335         gdb command.
3337 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3339         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
3341 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3343         PR libstdc++/55908
3344         * include/std/functional (_Mem_fn::operator()): Fix constraints to
3345         avoid ambiguity.
3346         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
3347         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
3349 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3351         PR libstdc++/55594
3352         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
3353         Solaris targets.
3354         * configure: Regenerate.
3356 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3358         PR libstdc++/55847
3359         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
3360         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
3361         string.
3363         PR libstdc++/55728
3364         * include/std/functional (bad_function_call::what()): Declare.
3365         * src/c++11/functional.cc (bad_function_call::what()): Define.
3366         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
3367         * testsuite/20_util/bad_function_call/what.cc: New.
3369 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3371         * include/bits/unordered_map.h: Fix typo in comments.
3372         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
3373         counts for unordered associative containers.
3375 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3377         * doc/xml/manual/abi.xml: Update library and symbol versions.
3379 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
3381         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
3382         in copyright years.
3383         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
3386 Copyright (C) 2013 Free Software Foundation, Inc.
3388 Copying and distribution of this file, with or without modification,
3389 are permitted in any medium without royalty provided the copyright
3390 notice and this notice are preserved.