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