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