0;261;0c2013-09-23 Michael Meissner <meissner@linux.vnet.ibm.com>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob432c36a151b5e17a9693ea64629c2496e9cb0bf7
1 2013-09-24  Tim Shen  <timshen91@gmail.com>
3         * include/Makefile.am: Add regex.tcc.
4         * include/Makefile.in: Regenerate.
5         * include/bits/regex.h: Remove definitions to regex.tcc.
6         * include/bits/regex.tcc: New.
7         (match_results::format, regex_replace): Implement;
8         * include/bits/regex_compiler.h: Move _M_flags to the top of class
9         member list, because other members' initialization depend on it.
10         * include/bits/regex_compiler.tcc
11         (_Compiler<>::_Compiler): Adjust member initializations.
12         (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
13         * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
14         In the future, all regex classes may refactor to *Impl style.
15         * include/bits/regex_executor.tcc (_Executor::_M_set_results):
16         Merge identical code from _*Executor classes.
17         * testsuite/28_regex/algorithms/regex_match/extended/
18         string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
19         caller for new __get_executors interface.
20         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
21         New.
22         * testsuite/28_regex/match_results/format.cc: New.
23         * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
24         testcase.
25         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
27 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
29         * src/c++11/snprintf_lite.cc (__concat_size_t): Use
30         unsigned long long conditionally.
32 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
34         * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
35         std::__int_to_char<unsigned long long>()
37 2013-09-21  Paul Pluzhnikov  <ppluzhnikov@google.com>
39         * include/bits/functexcept.h (__throw_out_of_range_fmt): New.
40         * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
41         * src/c++11/snprintf_lite.cc: New.
42         * src/c++11/Makefile.am: Add snprintf_lite.cc.
43         * src/c++11/Makefile.in: Regenerate.
44         * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
45         * include/std/array (at): Use __throw_out_of_range_fmt.
46         * include/debug/array (at): Likewise.
47         * include/profile/array (at): Likewise.
48         * include/std/bitset (_M_check_initial_position, _M_check): New.
49         (bitset::bitset): Use _M_check_initial_position.
50         (set, reset, flip, test): Use _M_check.
51         * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
52         * include/bits/stl_vector.h (_M_range_check): Likewise.
53         * include/bits/stl_bvector.h (_M_range_check): Likewise.
54         * include/bits/stl_deque.h (_M_range_check): Likewise.
55         * include/bits/basic_string.h (_M_check, at): Likewise.
56         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
57         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
58         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
59         Likewise.
60         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
61         Likewise.
62         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
63         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
64         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
65         Likewise.
66         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
67         Likewise.
68         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
69         * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
70         Likewise.
71         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
72         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
73         * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
75 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
77         PR testsuite/57605
78         * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
79         -fdiagnostics-color=never to cxxflags.
81 2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
83         PR libstdc++/58338
84         * include/bits/allocator.h (__alloc_swap::_S_do_it,
85         __shrink_to_fit_aux::_S_do_it): Mark as noexcept.
86         * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
87         _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
88         _M_set_length_and_sharable, _M_dispose]: Likewise.
89         (basic_string::_Alloc_hider::_Alloc_hider): Likewise.
90         (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
91         _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
92         _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
93         Likewise.
94         [clear]: Link to PR 56166.
95         [swap]: Link to PR 58265.
96         * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
97         _Deque_iterator, _M_const_cast, operator*, operator->, operator++,
98         operator--, operator+=, operator+, operator-=, operator-, operator[],
99         _M_set_node]: Mark as noexcept.
100         (operator==(const _Deque_iterator&, const _Deque_iterator&),
101         operator!=(const _Deque_iterator&, const _Deque_iterator&),
102         operator<(const _Deque_iterator&, const _Deque_iterator&),
103         operator>(const _Deque_iterator&, const _Deque_iterator&),
104         operator<=(const _Deque_iterator&, const _Deque_iterator&),
105         operator>=(const _Deque_iterator&, const _Deque_iterator&),
106         operator-(const _Deque_iterator&, const _Deque_iterator&),
107         operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
108         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
109         _M_initialize_map.
110         [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
111         Mark as noexcept.
112         (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
113         _Deque_impl(_Tp_alloc_type&&)]: Likewise.
114         (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
115         front, back, pop_front, pop_back, swap]: Likewise.
116         [deque(), deque(const allocator_type&)]: Merge.
117         * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
118         operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
119         * include/profile/deque (deque) [operator=(deque&&), operator[], front,
120         back, pop_front, pop_back, swap]: Likewise.
121         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
122         Adjust line number.
123         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
124         Likewise.
125         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
126         Likewise.
127         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
128         Likewise.
130 2013-09-20  Alan Modra  <amodra@gmail.com>
132         * configure: Regenerate.
134 2013-09-19  Marc Glisse  <marc.glisse@inria.fr>
136         PR libstdc++/58338
137         * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
138         Mark as noexcept.
139         (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
140         operator++, operator--, operator==, operator!=]: Likewise.
141         (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
142         operator*, operator->, operator++, operator--, operator==, operator!=]:
143         Likewise.
144         (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
145         operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
146         Likewise.
147         (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
148         _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
149         _S_maximum]: Likewise.
150         * include/debug/string (basic_string) [basic_string(const _Allocator&),
151         shrink_to_fit, operator[], pop_back]: Likewise.
152         * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
153         _M_ibegin, _M_iend, __versa_string(const _Alloc&),
154         operator=(__versa_string&&), shrink_to_fit, operator[], front,
155         back, assign(__versa_string&&), swap]: Likewise.
156         (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
157         Merge.
159 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
161         PR libstdc++/58338
162         * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
163         _M_const_cast, operator*, operator->, operator++, operator--,
164         operator[], operator+=, operator+, operator-=, operator-, base]:
165         Mark as noexcept.
166         (operator==(const __normal_iterator&, const __normal_iterator&),
167         operator!=(const __normal_iterator&, const __normal_iterator&),
168         operator<(const __normal_iterator&, const __normal_iterator&),
169         operator>(const __normal_iterator&, const __normal_iterator&),
170         operator<=(const __normal_iterator&, const __normal_iterator&),
171         operator>=(const __normal_iterator&, const __normal_iterator&),
172         operator-(const __normal_iterator&, const __normal_iterator&),
173         operator+(difference_type, const __normal_iterator&)): Likewise.
174         * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
175         Likewise.
176         (list::_M_check_equal_allocators): Abort instead of throwing.
177         * include/debug/array (array) [operator[], front, back]: Mark as
178         noexcept.
179         * include/profile/array (array) [operator[], front, back]: Likewise.
180         * include/std/array (array) [operator[], front, back]: Likewise.
181         * include/debug/list (list::splice): Likewise.
182         * include/profile/list (list::splice): Likewise.
183         * testsuite/23_containers/list/operations/5.cc: Remove file.
184         * testsuite/23_containers/list/operations/5.h: Likewise.
186 2013-09-18  Tim Shen  <timshen91@gmail.com>
188         * include/bits/regex.h: Add friend classes.
189         (match_results<>::position, regex_iterator<>::operator++):
190         Implement position specification in regex_iterator.
191         (regex_match<>, regex_search<>):
192         Move match_results initializations to these function. Remove `todo`.
193         * include/bits/regex_compiler.tcc:
194         (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
195         * include/bits/regex_constants.h:
196         Fix indentation. Change match_flag_type to enum type.
197         * include/bits/regex_executor.h:
198         Merge identical code to the base class _Executor.
199         Support flags in regex_constants.
200         * include/bits/regex_executor.tcc: Likewise.
201         * include/bits/regex_scanner.h: Add comments.
202         * include/bits/regex_scanner.tcc: Same.
203         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
204         Add a testcase.
205         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
206         * testsuite/28_regex/iterators/regex_iterator/char/
207         string_position_01.cc: Remove `xfail`.
208         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
209         Remove `xfail` and make the case really work.
211 2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
213         * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
215 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
217         PR libstdc++/58338
218         * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
219         noexcept.
220         * include/bits/stl_list.h (_List_iterator) [_List_iterator,
221         _M_const_cast, operator*, operator->, operator++, operator--,
222         operator==, operator!=]: Likewise.
223         (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
224         operator->, operator++, operator--, operator==, operator!=]: Likewise.
225         (operator==(const _List_iterator&, const _List_const_iterator&),
226         operator!=(const _List_iterator&, const _List_const_iterator&)):
227         Likewise.
228         (_List_impl) [_List_impl(const _Node_alloc_type&),
229         _List_impl(_Node_alloc_type&&)]: Likewise.
230         (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
231         _List_base(_List_base&&), _M_clear, _M_init]: Likewise.
232         (list) [list(), list(const allocator_type&)]: Merge.
233         (list) [list(const allocator_type&), front, back, pop_front, pop_back,
234         erase, _M_erase]: Mark as noexcept.
235         * include/debug/list (list) [list(const _Allocator&), front, back,
236         pop_front, pop_back, _M_erase, erase]: Likewise.
237         * include/profile/list (list) [list(const _Allocator&), front, back,
238         pop_front, pop_back, erase]: Likewise.
239         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
240         Adjust line number.
241         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
242         Likewise.
243         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
244         Likewise.
245         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
246         Likewise.
248 2013-09-17  Marc Glisse  <marc.glisse@inria.fr>
250         PR libstdc++/58338
251         * include/bits/stl_vector.h (vector::vector(),
252         vector::vector(const allocator_type&)): Merge.
253         (_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
254         _Vector_impl::_Vector_impl(_Tp_alloc_type&&),
255         _Vector_impl::_M_swap_data,
256         _Vector_base::_Vector_base(const allocator_type&),
257         _Vector_base::_Vector_base(allocator_type&&),
258         _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
259         vector::vector(const allocator_type&), vector::operator[],
260         vector::operator[] const, vector::front, vector::front const,
261         vector::back, vector::back const, vector::pop_back,
262         vector::_M_erase_at_end): Mark as noexcept.
263         * include/debug/vector (vector::vector(const _Allocator&),
264         vector::operator[], vector::operator[] const, vector::front,
265         vector::front const, vector::back, vector::back const, vector::pop_back,
266         _M_requires_reallocation, _M_update_guaranteed_capacity,
267         _M_invalidate_after_nth): Mark as noexcept.
268         * include/profile/vector (vector::vector(const _Allocator&),
269         vector::operator[], vector::operator[] const, vector::front,
270         vector::front const, vector::back, vector::back const): Mark as
271         noexcept.
272         (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
273         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
274         Adjust line number.
275         * testsuite/23_containers/vector/requirements/dr438/
276         constructor_1_neg.cc: Likewise.
277         * testsuite/23_containers/vector/requirements/dr438/
278         constructor_2_neg.cc: Likewise.
279         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
280         Likewise.
282 2013-09-14  Tim Shen  <timshen91@gmail.com>
284         * include/bits/regex.h (regex_match<>, regex_search<>):
285         Change regex_executor caller. Now use their return value instead
286         of checking __m[0].matched to find out if it's successful.
287         (regex_search<>): Move the search logic to regex_executor.
288         * include/bits/regex_automaton.h: Add some new _Opcode. Refactor
289         _NFA::_M_insert_*.
290         * include/bits/regex_automaton.tcc: Add DEBUG dump for new
291         _Opcode. Refactor _NFA::_M_insert_*.
292         * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
293         Use make_shared instead of construct by hand.
294         * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
295         * include/bits/regex_constants.h: Fix indentation and line breaking.
296         * include/bits/regex_executor.h: Add _ResultsEntry to support
297         greedy/ungreedy mode. Move regex_search logic here.
298         * include/bits/regex_executor.tcc: Implement assertions and
299         greedy/ungreedy matching.
300         * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
301         * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
302         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
303         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
304         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
305         Fix comment.
307 2013-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
309         PR libstdc++/58415
310         * include/ext/sso_string_base.h (__sso_string_base<>::
311         __sso_string_base(__sso_string_base&&)): Fix thinkos about
312         _M_length vs _M_set_length.
313         * testsuite/ext/vstring/cons/58415-1.cc: New.
314         * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
316 2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>
318         PR libstdc++/58403
319         * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
320         operator+=, operator+, operator-=, operator-): Take the argument
321         by value.
322         * testsuite/24_iterators/normal_iterator/58403.cc: New.
324 2013-09-11  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
325             Chris Jefferson  <chris@bubblescope.net>
327         PR libstdc++/58358
328         * include/bits/stl_algo.h (search_n): Fix to guarantee a number
329         of comparisons <= number of elements in the range.
330         * testsuite/25_algorithms/search_n/58358.cc: New.
331         * testsuite/25_algorithms/search_n/iterator.cc: Extend.
333 2013-09-10  Ed Smith-Rowland  <3dw4rd@verizon.net>
335         * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
336         from char to wchar_t, literals from 'x' to L'x'.
338 2013-09-10  Kai Tietz  <ktietz@redhat.com>
340         PR libstdc++/54314
341         * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
342         like in gnu.ver.
344 2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
346         PR libstdc++/58341
347         * include/bits/stl_algobase.h (copy_backward): Fix documentation
348         per DR 1206.
350 2013-09-05  Tim Shen  <timshen91@gmail.com>
352         * include/bits/regex_automaton.h: Add dummy node type. Rewrite
353         _StateSeq.
354         * include/bits/regex_automaton.tcc: Implement them.
355         * include/bits/regex_compiler.h: Rewrite _Compiler to use new
356         _StateSeq interfaces.
357         * include/bits/regex_compiler.tcc: Implement them.
358         * include/bits/regex_scanner.h: Add word boundry assertion token.
359         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
360         Support word boundry.
361         * testsuite/28_regex/algorithms/regex_match/basic/
362         string_range_02_03.cc: Remove "xfail".
363         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
364         Likewise.
365         * testsuite/28_regex/algorithms/regex_match/extended/
366         string_range_02_03.cc: Likewise.
367         * testsuite/28_regex/algorithms/regex_match/extended/
368         cstring_questionmark.cc: Remove xfail and get correct length of
369         c-string.
370         * testsuite/28_regex/algorithms/regex_match/extended/
371         string_range_00_03.cc: Likewise.
372         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
373         New.
374         * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
375         New.
376         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
378 2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
380         PR libstdc++/58302
381         * include/bits/random.tcc (negative_binomial_distribution<>::
382         operator()(_UniformRandomNumberGenerator&, const param_type&)):
383         Fix typo in template argument.
384         * testsuite/26_numerics/random/negative_binomial_distribution/
385         operators/58302.cc: New.
387 2013-09-02  Tim Shen  <timshen91@gmail.com>
389         * regex_automaton.h: Rearrange _NFA's layout.
390         * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
391           Rearrange _BracketMatcher's layout.
392           (_BracketMatcher<>::_M_add_char): Use set instead of vector for
393           _M_char_set.
394           (_BracketMatcher<>::_M_add_collating_element): Likewise.
395           (_BracketMatcher<>::_M_make_range): Likewise.
396         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
397           apropriate constructors of matchers above.
398         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
399           New.
400         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
401         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
402           New.
403         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
404           New.
405         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
406         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
407           New.
408         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
410 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
412         PR libstdc++/58148
413         * include/debug/functions.h (__foreign_iterator_aux4): Use
414         sequence const_pointer as common type to compare pointers. Add a
415         fallback overload in case pointers cannot be cast to sequence
416         const_pointer.
417         * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
419 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
421         PR libstdc++/58191
422         * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
423         __gnu_debug::__base calls on iterators passed to internal debug
424         check.
425         (__glibcxx_check_partitioned_lower_pred): Likewise.
426         (__glibcxx_check_partitioned_upper): Likewise.
427         (__glibcxx_check_partitioned_upper_pred): Likewise.
428         (__glibcxx_check_sorted): Likewise.
429         (__glibcxx_check_sorted_pred): Likewise.
430         (__glibcxx_check_sorted_set): Likewise.
431         (__glibcxx_check_sorted_set_pred): Likewise.
432         * include/debug/functions.h (__check_partitioned_lower):
433         Remove code to detect safe iterators.
434         (__check_partitioned_upper): Likewise.
435         (__check_sorted): Likewise.
437 2013-08-29  Tim Shen  <timshen91@gmail.com>
439         * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
440           (regex_iterator<>::regex_iterator): Return nullptr when regex_search
441              failed.
442           (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
443             _M_result is(not isn't) nullptr.
444         * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
445           instead of by value.
446         * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
447           _M_traits to _DFSExecutor.
448         * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
449           _DFSExecutor too.
450         * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
451           New.
452         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
453           wstring_02.cc: New.
455 2013-08-26  Tim Shen  <timshen91@gmail.com>
457         * include/Makefile.am: Add regex_scanner.{h,tcc}.
458         * include/Makefile.in: Regenerate.
459         * include/bits/regex.h (match_search): Handle the `__first == __last`
460           situation correctly.
461         * include/bits/regex_compiler.h: Move _Scanner...
462         * include/bits/regex_scanner.h: ...to here. New.
463         * include/bits/regex_compiler.tcc: Move _Scanner...
464         * include/bits/regex_scanner.tcc: ...to here, too. New.
465         * include/bits/regex_executor.tcc: Use value instead of reference for
466           submatch.
467         * include/std/regex: Add regex_scanner.h
468         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
469         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
470         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
471         * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
472         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
474 2013-08-22  Tim Shen  <timshen91@gmail.com>
476         * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
477         * include/bits/regex_automaton.h: Same.
478         * include/bits/regex_automaton.tcc: Same.
479         * include/bits/regex_compiler.h: Same.
480         * include/bits/regex_compiler.tcc: Same.
481         * include/bits/regex_constants.h: Same.
482         * include/bits/regex_executor.h: Same.
483         * include/bits/regex_executor.tcc: Same.
485 2013-08-22  Tim Shen  <timshen91@gmail.com>
487         * include/bits/regex.h: Executor caller.
488         * include/bits/regex_executor.h: Fix empty grouping problem.
489         * include/bits/regex_executor.tcc: Same.
490         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
491           New.
493 2013-08-20  Phil Muldoon  <pmuldoon@redhat.com>
495         PR libstdc++/53477
496         http://sourceware.org/bugzilla/show_bug.cgi?id=15195
498         * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
499         is a reference, fetch referenced value.
500         (RxPrinter.invoke): Ditto.
501         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
502         flag. Add referenced value tests.
504 2013-08-20  Tim Shen  <timshen91@gmail.com>
506         * include/bits/regex_constants.h: Add underlying `unsigned int` for
507           enum syntax_option_type.
509 2013-08-18  Tim Shen  <timshen91@gmail.com>
511         * include/bits/regex_automaton.h: _S_opcode_backref.
512         * include/bits/regex_automaton.tcc: Backref automaton support.
513         * include/bits/regex_compiler.tcc: Parsing support.
514         * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
515         * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
516         * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
518 2013-08-16  Tim Shen  <timshen91@gmail.com>
520         * include/bits/regex.h (regex_traits<>::transform_primary):
521         Avoid past-the-end dereferences.
523 2013-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
525         PR libstdc++/58163
526         * include/bits/basic_string.h (basic_string<>::operator[]): Fix
527         _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
528         * include/ext/vstring.h: Likewise.
529         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
530         New.
531         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
532         Likewise.
533         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
534         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
536 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
538         * src/c++98/compatibility.cc (_ZTIe): Use
539         reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
540         (_ZTIPe): Ditto.
541         (ZTIPKe): Ditto.
543 2013-08-09  Tim Shen  <timshen91@gmail.com>
545         * include/bits/regex_constants.h: Change syntax_option_type to enum
546         type.
548 2013-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
550         * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
552 2013-08-08  François Dumont  <fdumont@gcc.gnu.org>
554         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
555         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
556         _Hashtable.
557         (_Before_begin<>): Remove.
558         * include/bits/hashtable.h (_Hashtable): Inherit from
559         _Hashtable_alloc and adapt. Restore _M_before_begin field.
560         * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
561         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
562         access to hashtable before begin.
563         * testsuite/23_containers/unordered_set/
564         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
565         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
566         Likewise.
568 2013-08-07  Tim Shen  <timshen91@gmail.com>
570         * include/Makefile.am: Adjust to new files.
571         * include/Makefile.in: Regenerate.
572         * include/bits/regex.h: Adjust to new interfaces.
573         * include/bits/regex_automaton.h: New.
574         * include/bits/regex_automaton.tcc: New.
575         * include/bits/regex_compiler.h: Adjust to new files.
576         * include/bits/regex_compiler.tcc: New.
577         * include/bits/regex_constants.h: Tail spaces.
578         * include/bits/regex_error.h: Likewise.
579         * include/bits/regex_executor.h: New.
580         * include/bits/regex_executor.tcc: New.
581         * include/std/regex: Adjust to new files.
582         * testsuite/28_regex/algorithms/regex_match/extended/
583         string_dispatch_01.cc: Adjust to new interfaces.
585 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
587         * include/ext/atomicity.h: Add #pragma GCC system_header.
589 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
591         PR libstdc++/58098
592         * include/bits/random.h (cauchy_distribution<>::min,
593         extreme_value_distribution<>::min, normal_distribution<>::min,
594         student_t_distribution<>::min): Fix.
595         * include/ext/random (normal_mv_distribution<>::min): Likewise.
596         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
597         Adjust.
598         testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
599         Likewise.
600         * testsuite/26_numerics/random/extreme_value_distribution/cons/
601         parms.cc: Likewise.
602         testsuite/26_numerics/random/extreme_value_distribution/cons/
603         default.cc: Likewise.
604         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
605         Likewise.
606         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
607         Likewise.
608         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
609         Likewise.
610         * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
611         Likewise.
612         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
613         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
615         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
616         Minor tweak.
617         * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
618         Likewise.
620         * testsuite/ext/von_mises_distribution/*: Move to...
621         * testsuite/ext/random/von_mises_distribution/*: ... here.
622         * testsuite/ext/triangular_distribution/*: Move to...
623         * testsuite/ext/random/triangular_distribution/*: ... here.
625 2013-08-06  Caroline Tice  <cmtice@google.com>
627         * fragment.am: Add XTEMPLATE_FLAGS.
628         * configure.ac: Add definitions for --enable-vtable-verify.
629         * acinclude.m4:  Add --enable-vtable-verify and
630         --disable-vtable-verify; define --enable-vtable-verify; define
631         VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
632         * config/abi/pre/gnu.ver: Export symbols for vtable verification.
633         * libsupc++/Makefile.am: Define vtv_sources and add it to
634         libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
635         * libsupc++/vtv_stubs.cc: New file.
636         * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
637         * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
638         VTV_CXXLINKFLAGS to CXXLINK.
639         * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
640         to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
641         * src/C++11/Makefile.am: Ditto.
642         * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
643         * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
644         cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
645         * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
646         libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
647         cxxvtvflags to cxx_final.
648         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
649         -fvtable-verify=none to compiler flags.
650         * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
651         to compiler flags.
652         * configure: Regenerated.
653         * Makefile.in: Regenerated.
654         * python/Makefile.in: Regenerated.
655         * include/Makefile.in: Regenerated.
656         * libsupc++/Makefile.in: Regenerated.
657         * config.h.in: Regenerated.
658         * po/Makefile.in: Regenerated.
659         * src/Makefile.in: Regenerated.
660         * src/c++98/Makefile.in: Regenerated.
661         * src/c++11/Makefile.in: Regenerated.
662         * doc/Makefile.in: Regenerated.
663         * testsuite/Makefile.in: Regenerated.
665 2013-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
667         Revert the last commit.
669 2013-08-06  François Dumont  <fdumont@gcc.gnu.org>
671         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
672         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
673         _Hashtable.
674         (_Before_begin<>): Remove.
675         * include/bits/hashtable.h (_Hashtable): Inherit from
676         _Hashtable_alloc and adapt. Restore _M_before_begin field.
677         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
678         access to hashtable before begin.
679         * testsuite/23_containers/unordered_set/
680         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
681         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
682         Likewise.
684 2013-08-03  Tim Shen  <timshen91@gmail.com>
686         Implement bracket expression.
687         * include/bits/regex.h: Remove constexpr from "|=", etc.
688         * include/bits/regex_compiler.h: Parse bracket expression.
689         * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
690         _RangeMatcher).
691         * include/bits/regex_nfa.tcc: Implement them.
692         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
693         from regex_search to regex_match.
694         * testsuite/28_regex/algorithms/regex_match/extended/
695         cstring_bracket_01.cc: New.
697 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
699         * include/debug/functions.h (__foreign_iterator_aux4):
700         Initialize __l and __ge.
702 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
704         PR libstdc++/58049
705         * include/debug/functions.h: Include <bits/move.h>; minor formatting
706         changes.
707         (__foreign_iterator_aux4): Declare __l and __ge constexpr.
708         * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
709         Use __addressof.
710         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
711         operator->): Likewise.
713 2013-08-01  François Dumont  <fdumont@gcc.gnu.org>
715         PR libstdc++/57779
716         * include/debug/formatter.h (_Debug_msg_id): Add
717         __msg_insert_itself_range entry.
718         * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
719         New, indicate container types supporting self range insertion in
720         GNU implementation.
721         (__foreign_iterator): New, check if an iterator points to a given
722         sequence.
723         * include/debug/macros.h (__glibcxx_check_insert_range): Add check
724         using __foreign_iterator.
725         (__gibcxx_check_insert_range_after): Likewise.
726         * include/debug/string (_Insert_range_from_self_is_safe<>):
727         Partially specialized to mark __gnu_debug::basic_string<> as
728         supporting self range insert.
729         * include/debug/list (_Insert_range_from_self_is_safe<>):
730         Partially specialized to mark std::list as supporting self range
731         insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
732         * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
733         Likewise.
734         * src/c++11/debug.cc (_S_debug_messages): Add
735         __msg_insert_itself_range_entry message.
736         (_Error_formatter::_Parameter::_M_print_description): Display
737         iterator sequence address rather than sequence address when the
738         parameter type is an iterator.
739         (_Error_formatter::_M_print_word): Enhance behavior when
740         displaying a word with an appended '\n'.
741         * testsuite/util/debug/checks.h (check_insert4<>): New.
742         * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
743         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
744         * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
745         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
746         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
747         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
748         Likewise.
750 2013-08-01  Fabien Chêne  <fabien@gcc.gnu.org>
752         PR c++/54537
753         * include/tr1/cmath: Remove pow(double,double) overload, remove a
754         duplicated comment about DR 550. Add a comment to explain the
755         issue.
756         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
758 2013-07-31  Tim Shen  <timshen91@gmail.com>
760         Thompson matcher refactored. Fix grouping problem.
761         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
762         * include/bits/regex_compiler.h: Tweak for auto switching.
763         * include/bits/regex_grep_matcher.h: Class structure.
764         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
765         matcher) refactoring.
766         * include/bits/regex_nfa.h: Change _Results's interfaces.
767         * include/std/regex: Includes <map> and <queue>.
768         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
769         For both matchers.
770         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
771         For both matchers.
772         * testsuite/28_regex/algorithms/regex_match/extended/
773         string_dispatch_01.cc: New.
775 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
777         PR libstdc++/56627
778         * include/bits/stl_bvector.h: Use friend struct hash intead of
779         friend class hash to work around useless warnings produced by
780         some compilers.
781         * include/std/bitset: Likewise.
783 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
785         * src/c++11/functexcept.cc: Do not include the whole <regex>.
786         * src/c++11/regex.cc: Likewise.
788 2013-07-31  Tim Shen  <timshen91@gmail.com>
790         Revert last commit.
792 2013-07-31  Tim Shen  <timshen91@gmail.com>
794         Thompson matcher refactored. Fix grouping problem.
795         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
796         * include/bits/regex_compiler.h: Tweak for auto switching.
797         * include/bits/regex_grep_matcher.h: Class structure.
798         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
799         matcher) refactoring.
800         * include/bits/regex_nfa.h: Change _Results's interfaces.
801         * include/std/regex: Includes <map> and <queue>.
802         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
803         For both matchers.
804         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
805         For both matchers.
806         * testsuite/28_regex/algorithms/regex_match/extended/
807         string_dispatch_01.cc: New.
809 2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
811         Revert last commit.
813 2013-07-30  Tim Shen  <timshen91@gmail.com>
815         Thompson matcher refactored. Fix grouping problem.
816         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
817         * include/bits/regex_compiler.h: Tweak for auto switching.
818         * include/bits/regex_grep_matcher.h: Class structure.
819         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
820         matcher) refactoring.
821         * include/bits/regex_nfa.h: Change _Results's interfaces.
822         * include/std/regex: Includes <map> and <queue>.
823         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
824         For both matchers.
825         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
826         For both matchers.
827         * testsuite/28_regex/algorithms/regex_match/extended/
828         string_dispatch_01.cc: New.
830 2013-07-29  Nathan Froyd  <froydnj@gcc.gnu.org>
832         * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
833         Add call to __cmpexch_failure_order.
834         * testsuite/util/testsuite_common_types.h
835         (compare_exchange_order_lowering): New generator.
836         * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
837         New test.
839 2013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
841         * include/std/complex (pow(const complex<>&, int)): Enable in
842         C++11 mode too.
843         * testsuite/26_numerics/complex/dr844.cc: Adjust.
844         * doc/xml/manual/intro.xml: Update.
846 2013-07-25  Tim Shen  <timshen91@gmail.com>
848         Add documents and comments.
849         * include/bits/regex.h: Documents and comments.
850         * include/bits/regex_grep_matcher.h: Likewise.
851         * include/bits/regex_grep_matcher.tcc: Likewise.
852         * testsuite/28_regex/iterators/regex_iterator/char/
853         string_position_01.cc: New.
855 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
857         PR libstdc++/57976
858         * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
859         time_get::do_get.
861 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
863         * include/bits/random.h (random_device): Avoid using the FILE type.
864         * include/std/random: Do not include <cstdio>.
865         * src/c++11/random.cc: ... include it here.
866         (random_device::_M_init, random_device::_M_fini,
867         random_device::_M_getval): Cast back and forth void* and FILE*.
869 2013-07-24  Tim Shen  <timshen91@gmail.com>
871         Reimplment matcher using Depth-first search(backtracking).
872         PR libstdc++/53622
873         PR libstdc++/57173
874         * include/bits/regex.h: regex_match() and regex_search().
875         * include/bits/regex_cursor.h: Fix _M_set_pos().
876         * include/bits/regex_grep_matcher.h: add _M_dfs_match().
877         * include/bits/regex_grep_matcher.tcc: Implement it.
878         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
879         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
880         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
881         Remove xfail.
883 2013-07-23  Tim Shen  <timshen91@gmail.com>
885         Implement regex_iterator and regex_token_iterator.
886         * include/bits/regex.h: regex_iterator and regex_token_iterator.
887         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
888         New.
889         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
890         New.
891         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
892         New.
893         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
894         string_01.cc: New.
896 2013-07-23  Paolo Carlini  <paolo.carlini@oracle.com>
898         * include/std/random: Add back <cstdio> include.
899         * src/c++11/random.cc: Don't include <cstdio> here.
901 2013-07-22  Jason Merrill  <jason@redhat.com>
903         PR libstdc++/57914
904         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
906 2013-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
908         PR c++/57920
909         * src/c++11/random.cc (random_device::_M_getval): If possible, use
910         read instead of std::fread.
911         * include/std/random: Do not include <cstdio> unnecessarily.
913 2013-07-21  Tim Shen  <timshen91@gmail.com>
915         Partially implement regex_search.
916         * include/bits/regex.h: regex_search.
917         * include/bits/regex_grep_matcher.h: _M_search_from_first.
918         * include/bits/regex_grep_matcher.tcc: Implement it.
919         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
921 2013-07-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
923         PR libstdc++/54352
924         * include/std/condition_variable (condition_variable_any): Move into
925         inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
926         * src/c++11/condition_variable.cc (condition_variable_any): Move
927         definitions to ...
928         * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
929         * src/Makefile.am: Add new source file.
930         * src/Makefile.in: Regenerate.
932 2013-07-09  Tim Shen  <timshen91@gmail.com>
934         Implement class regex_traits.
935         * include/bits/regex.h: Implement lookup_classname and
936         lookup_collatename; modify isctype; partially implement
937         transform_primary.
938         * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
939         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
940         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
941         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
942         * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
943         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
944         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
945         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
947 2013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
949         * doc/xml/manual/status_cxx2014.xml: Add links for papers.
951 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
953         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
954         pattern.
955         (_MoveReuseOrAllocNode): Remove.
956         (_Insert_base): Take a functor defining how the node is generated.
957         * include/bits/hashtable.h: Adapt.
958         (operator=(initializer_list<value_type>)): Reuse node if any.
959         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
960         Adjust dg-error line number.
961         * testsuite/23_containers/unordered_set/
962         not_default_constructible_hash_neg.cc: Likewise.
964 2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
966         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
967         Tweak, avoid potential undefined behavior.
968         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
969         Likewise.
970         * testsuite/23_containers/vector/bool/modifiers/insert/
971         const_iterator.cc: Likewise.
972         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
973         Likewise.
975 2013-07-04  Veres Lajos  <vlajos@gmail.com>
976             Jonathan Wakely  <jwakely.gcc@gmail.com>
978         * config/locale/generic/codecvt_members.cc: Fix typo.
979         * configure.host: Likewise.
980         * doc/html/manual/policy_data_structures_design.html: Likewise.
981         * doc/xml/manual/policy_data_structures.xml: Likewise.
982         * include/bits/hashtable.h: Likewise.
983         * include/bits/random.h: Likewise.
984         * include/profile/impl/profiler_trace.h: Likewise.
985         * testsuite/23_containers/deque/cons/2.cc: Likewise.
986         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
987         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
988         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
990 2013-07-04  Ray Chason  <chasonr@newsguy.com>
991             Paolo Carlini  <paolo.carlini@oracle.com>
993         PR libstdc++/57808
994         * include/bits/regex.h (regex_token_iterator<>::operator==,
995         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
996         regex_token_iterator<>::operator->): Declare const.
998 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
1000         * include/bits/stl_list.h (list<>::insert(iterator,
1001         size_type, const value_type&), list<>::insert(iterator,
1002         initializer_list<>), list<>::insert(iterator, _InputIterator,
1003         _InputIterator), list<>::splice(iterator, list&&),
1004         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
1005         iterator), list<>::splice(iterator, list&, iterator),
1006         list<>::splice(iterator, list&&, iterator, iterator),
1007         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
1008         signatures to take const_iterator(s).
1009         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
1010         const value_type&), list<>::insert(const_iterator, _InputIterator,
1011         _InputIterator)): Define.
1012         * include/ext/vstring.h (__versa_string<>::insert(iterator,
1013         size_type, _CharT), __versa_string<>::insert(iterator,
1014         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
1015         std::initializer_list<>), __versa_string<>::replace(iterator,
1016         iterator, _InputIterator, _InputIterator), __versa_string<>::
1017         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
1018         signatures to take const_iterator(s).
1019         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
1020         * include/ext/vstring.tcc: Likewise.
1021         * include/debug/list: Adjust.
1022         * include/profile/list: Likewise.
1023         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
1024         New.
1025         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1026         Extend.
1027         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1028         Likewise.
1029         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1030         Likewise.
1031         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1032         Likewise.
1033         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1034         Likewise.
1036         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1037         Adjust dg-error line number.
1038         * testsuite/23_containers/list/requirements/dr438/
1039         constructor_1_neg.cc: Likewise.
1040         * testsuite/23_containers/list/requirements/dr438/
1041         constructor_2_neg.cc: Likewise.
1042         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1043         Likewise.
1045 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
1047         * include/bits/stl_deque.h (deque<>::insert(iterator,
1048         size_type, const value_type&), deque<>::insert(iterator,
1049         initializer_list<>), deque<>::insert(iterator, _InputIterator,
1050         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
1051         * include/bits/stl_vector.h: Likewise.
1052         * include/bits/stl_bvector.h: Likewise.
1053         * include/debug/deque: Adjust.
1054         * include/debug/vector: Likewise.
1055         * include/profile/deque: Likewise.
1056         * include/profile/vector: Likewise.
1057         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1058         Extend.
1059         * testsuite/23_containers/vector/bool/modifiers/insert/
1060         const_iterator.cc: Likewise.
1061         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1062         Likewise.
1064         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1065         Adjust dg-error line number.
1066         * testsuite/23_containers/deque/requirements/dr438/
1067         constructor_1_neg.cc: Likewise.
1068         * testsuite/23_containers/deque/requirements/dr438/
1069         constructor_2_neg.cc: Likewise.
1070         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1071         Likewise.
1072         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1073         Likewise.
1074         * testsuite/23_containers/vector/requirements/dr438/
1075         constructor_1_neg.cc: Likewise.
1076         * testsuite/23_containers/vector/requirements/dr438/
1077         constructor_2_neg.cc: Likewise.
1078         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1079         Likewise.
1081 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
1083         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
1084         insert methods.
1085         * include/bits/hashtable.h: Likewise.
1086         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
1087         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
1088         New.
1089         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1090         Adjust dg-error line number.
1091         * testsuite/23_containers/unordered_set/
1092         not_default_constructible_hash_neg.cc: Likewise.
1093         * doc/xml/manual/containers.xml: Document hinting in unordered
1094         containers.
1096 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
1098         * testsuite/21_strings/basic_string/operations/*: Move inside
1099         testsuite/21_strings/basic_string/operations/data/.
1100         * testsuite/21_strings/basic_string/compare/*: Move inside
1101         testsuite/21_strings/basic_string/operations/.
1102         * testsuite/21_strings/basic_string/find/*: Likewise.
1103         * testsuite/21_strings/basic_string/rfind/*: Likewise.
1104         * testsuite/21_strings/basic_string/substr/*: Likewise.
1106 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
1108         * testsuite/21_strings/basic_string/append/*: Move inside
1109         testsuite/21_strings/basic_string/modifiers/.
1110         * testsuite/21_strings/basic_string/assign/*: Likewise.
1111         * testsuite/21_strings/basic_string/insert/*: Likewise.
1112         * testsuite/21_strings/basic_string/replace/*: Likewise.
1113         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
1114         pop_back.cc: Rename to 1.cc.
1115         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
1116         pop_back.cc: Likewise.
1117         * testsuite/ext/vstring/assign/*: Move inside
1118         testsuite/ext/vstring/modifiers/.
1120 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
1122         * include/bits/stl_deque.h (deque<>::insert(iterator,
1123         const value_type&), deque<>::insert(iterator, value_type&&),
1124         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
1125         take a const_iterator.
1126         (deque<>::erase): Simplify.
1127         * include/bits/stl_list.h: Likewise.
1128         (_List_iterator<>::_M_const_cast): Add.
1129         * include/bits/stl_vector.h: Likewise.
1130         * include/bits/stl_bvector.h: Likewise.
1131         (_Bit_iterator::_M_const_cast): Add.
1132         * include/bits/deque.tcc: Adjust definitions.
1133         * include/bits/list.tcc: Likewise.
1134         * include/bits/vector.tcc: Likewise.
1135         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1136         Define trivial version in C++98 mode.
1137         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
1138         __versa_string<>::replace(iterator, iterator, const __versa_string&),
1139         __versa_string<>::replace(iterator, iterator, const _CharT*,
1140         size_type), __versa_string<>::replace(iterator, iterator,
1141         const _CharT*), __versa_string<>::replace(iterator, iterator,
1142         size_type, _CharT)): Adjust C++11 signatures to take a pair of
1143         const_iterators.
1144         * include/debug/deque: Adjust.
1145         * include/debug/list: Likewise.
1146         * include/debug/vector: Likewise.
1147         * include/profile/deque: Likewise.
1148         * include/profile/list: Likewise.
1149         * include/profile/vector: Likewise.
1150         (vector<>::emplace): Add.
1151         * testsuite/util/exception/safety.h: Update.
1152         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
1153         New.
1154         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1155         Likewise.
1156         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
1157         Likewise.
1158         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1159         Likewise.
1160         * testsuite/23_containers/vector/bool/modifiers/insert/
1161         const_iterator.cc: Likewise.
1162         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
1163         Likewise.
1164         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1165         Likewise.
1166         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1167         Likewise.
1168         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1169         Likewise.
1170         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1171         Likewise.
1172         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1173         Likewise.
1175         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
1176         ext/vstring/modifiers/erase/char/.
1177         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
1178         ext/vstring/modifiers/wchar_t/.
1179         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
1180         ext/vstring/modifiers/pop_back/char/.
1181         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
1182         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
1184         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1185         Adjust dg-error line number.
1186         * testsuite/23_containers/deque/requirements/dr438/
1187         constructor_1_neg.cc: Likewise.
1188         * testsuite/23_containers/deque/requirements/dr438/
1189         constructor_2_neg.cc: Likewise.
1190         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1191         Likewise.
1192         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1193         Likewise.
1194         * testsuite/23_containers/list/requirements/dr438/
1195         constructor_1_neg.cc: Likewise.
1196         * testsuite/23_containers/list/requirements/dr438/
1197         constructor_2_neg.cc: Likewise.
1198         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1199         Likewise.
1200         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1201         Likewise.
1202         * testsuite/23_containers/vector/requirements/dr438/
1203         constructor_1_neg.cc: Likewise.
1204         * testsuite/23_containers/vector/requirements/dr438/
1205         constructor_2_neg.cc: Likewise.
1206         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1207         Likewise.
1209 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
1211         Status page for C++2014 library features
1212         * doc/xml/faq.xml: Add link to new C++14 status page.
1213         * doc/xml/manual/intro.xml: Ditto.
1214         * doc/xml/manual/status_cxx2014.xml: New.
1216 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
1218         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
1219         spurious fails with check-debug.
1220         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
1221         Likewise.
1222         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
1223         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
1224         Likewise.
1226 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
1228         PR libstdc++/57704
1229         * include/bits/char_traits.h (char_traits<char>::lt): Implement
1230         LWG 467.
1231         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
1233 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1235         PR libstdc++/57691
1236         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
1237         declare per the letter of the C++ standard in terms of void.
1238         * include/c_std/cstdlib: Likewise.
1240 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
1242         PR libstdc++/57674
1243         * include/bits/random.h (binomial_distribution<>::_M_waiting):
1244         Add double parameter.
1245         * include/bits/random.tcc (binomial_distribution<>::operator()
1246         (_UniformRandomNumberGenerator&, const param_type&)): Pass
1247         __param._M_q to _M_waiting.
1248         (_M_waiting): Adjust.
1249         * testsuite/26_numerics/random/binomial_distribution/
1250         operators/values.cc: Add tests.
1252 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
1254         PR libstdc++/57666
1255         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
1256         Implement correctly C++11 26.6.2.3/1.
1257         * testsuite/26_numerics/valarray/dr630-3.C: New.
1259 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1261         PR libstdc++/57641
1262         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
1263         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
1264         to handle conversion between different clocks. Replace constrained
1265         __try_lock_for_impl overloads with conditional increment.
1266         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
1267         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
1269 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
1270             Chris Jefferson  <chris@bubblescope.net>
1272         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
1273         dispatch to traditional std::equal for random-access iterators.
1274         (__equal2_aux, __equal2): Remove.
1275         (__equal::equal): Remove unused overloads.
1276         * include/bits/stl_algo.h (is_permutation): Fix typos.
1278 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1280         * include/std/shared_mutex (shared_lock::operator=): Add missing
1281         return statement.
1283 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1285         PR libstdc++/57263
1286         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
1287         allocator's pointer type.
1288         * include/bits/hashtable.h (_Hashtable): Likewise.
1289         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
1290         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
1291         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
1292         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
1294 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1296         * include/std/shared_mutex: Implement N3659.
1297         * include/bits/c++14_warning.h: New.
1298         * include/Makefile.am: Add new headers.
1299         * include/Makefile.in: Regenerate.
1300         * testsuite/30_threads/shared_lock/cons/1.cc: New.
1301         * testsuite/30_threads/shared_lock/locking/2.cc: New.
1302         * testsuite/30_threads/shared_lock/cons/2.cc: New.
1303         * testsuite/30_threads/shared_lock/locking/3.cc: New.
1304         * testsuite/30_threads/shared_lock/cons/3.cc: New.
1305         * testsuite/30_threads/shared_lock/locking/4.cc: New.
1306         * testsuite/30_threads/shared_lock/cons/4.cc: New.
1307         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
1308         * testsuite/30_threads/shared_lock/cons/5.cc: New.
1309         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
1310         * testsuite/30_threads/shared_lock/cons/6.cc: New.
1311         * testsuite/30_threads/shared_lock/requirements/
1312         explicit_instantiation.cc: New.
1313         * testsuite/30_threads/shared_lock/locking/1.cc: New.
1314         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
1315         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
1316         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
1317         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
1318         * testsuite/30_threads/shared_mutex/requirements/
1319         standard_layout.cc: New.
1320         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
1321         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
1323 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
1325         PR libstdc++/57619
1326         * include/bits/unordered_map.h (unordered_map<>::insert,
1327         unordered_multimap<>::insert): Use std::forward, not std::move.
1328         * testsuite/23_containers/unordered_map/insert/57619.C: New.
1329         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1331 2013-06-14  Alan Modra  <amodra@gmail.com>
1333         * configure.host (abi_baseline_pair): Match powerpc64*.
1335 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
1337         * include/std/type_traits (is_function): Support ref-qualified
1338         functions.
1339         (is_copy_constructible, is_move_constructible, is_copy_assignable,
1340         is_move_assignable, is_nothrow_copy_constructible,
1341         is_nothrow_move_constructible, is_nothrow_copy_assignable,
1342         is_nothrow_move_assignable): Implement LWG 2196.
1343         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
1344         LWG 2101.
1345         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
1346         unused.
1347         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
1348         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
1349         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
1350         * testsuite/20_util/is_assignable/value.cc: Likewise.
1351         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1352         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
1353         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
1354         * testsuite/20_util/is_function/value.cc: Likewise.
1355         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
1356         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
1357         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
1358         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
1359         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
1360         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
1362         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1363         line number.
1364         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1365         Likewise.
1366         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1367         Likewise.
1369 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
1371         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
1372         __gnu_cxx::__airy_bi()): Remove.
1373         * testsuite/tr1/5_numerical_facilities/special_functions/
1374         10_cyl_bessel_k/airy.cc: Fix.
1376 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
1378         PR libstdc++/56430
1379         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
1380         from void function.
1381         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
1382         * testsuite/tr1/5_numerical_facilities/special_functions/
1383         10_cyl_bessel_k/airy.cc: New.
1385 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
1387         Fix library literals error involving namespace __detail.
1388         * include/std/chrono: Rename __detail to __select_type. Reformat.
1389         * include/bits/basic_string.h: Reformat.
1390         * testsuite/20_util/duration/literals/ns_detail.cc: New.
1392 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
1394         PR libstdc++/56019
1395         * include/c_global/cstddef (max_align_t): Add to namespace std.
1396         * include/c_std/cstddef: Likewise.
1397         * testsuite/18_support/max_align_t/requirements/1.cc: New.
1398         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
1400 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
1402         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
1403         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
1404         * include/bits/stl_multimap.h: Same.
1405         * include/bits/stl_multiset.h: Same.
1406         * include/bits/stl_set.h: Same.
1407         * include/bits/stl_tree.h: Same.
1408         * include/std/complex (real, imag): Use macro for abi_tag.
1410         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
1411         * testsuite/util/testsuite_containers.h (erase_external): New
1412         declarations.
1413         (erase_external_iterators): Same.
1414         (linkage_check_cxx98_cxx11_erase): Same.
1415         (linkage_check_cxx98_cxx11_erase_iterators): Same.
1416         * testsuite/util/testsuite_shared.cc: Define.
1417         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
1418         * testsuite/23_containers/map/modifiers/erase/
1419         dr130-linkage-check.cc: New.
1420         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
1421         * testsuite/23_containers/multimap/modifiers/erase/
1422         dr130-linkage-check.cc: New.
1423         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
1424         * testsuite/23_containers/multiset/modifiers/erase/
1425         dr130-linkage-check.cc: New.
1426         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
1427         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
1428         New.
1429         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
1431         * testsuite/23_containers/map/dr130.cc: Move...
1432         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
1433         * testsuite/23_containers/multimap/dr130.cc: Move ...
1434         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
1435         * testsuite/23_containers/multiset/dr130.cc: Move...
1436         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
1437         * testsuite/23_containers/set/dr130.cc: Move...
1438         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
1440 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
1442         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
1443         handling of Linux-based x86 systems to cover all GNU systems.
1444         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
1445         * testsuite/18_support/pthread_guard.cc: Likewise.
1446         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1447         Likewise.
1448         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
1449         Likewise.
1450         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1451         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1452         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
1453         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
1454         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1455         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1456         * testsuite/23_containers/list/pthread1.cc: Likewise.
1457         * testsuite/23_containers/list/pthread5.cc: Likewise.
1458         * testsuite/23_containers/map/pthread6.cc: Likewise.
1459         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
1460         Likewise.
1461         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1462         Likewise.
1463         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1464         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1465         * testsuite/30_threads/async/42819.cc: Likewise.
1466         * testsuite/30_threads/async/49668.cc: Likewise.
1467         * testsuite/30_threads/async/54297.cc: Likewise.
1468         * testsuite/30_threads/async/any.cc: Likewise.
1469         * testsuite/30_threads/async/async.cc: Likewise.
1470         * testsuite/30_threads/async/launch.cc: Likewise.
1471         * testsuite/30_threads/async/sync.cc: Likewise.
1472         * testsuite/30_threads/call_once/39909.cc: Likewise.
1473         * testsuite/30_threads/call_once/49668.cc: Likewise.
1474         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1475         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1476         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1477         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1478         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1479         * testsuite/30_threads/condition_variable/members/53841.cc:
1480         Likewise.
1481         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1482         Likewise.
1483         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1484         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1485         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1486         * testsuite/30_threads/condition_variable_any/members/1.cc:
1487         Likewise.
1488         * testsuite/30_threads/condition_variable_any/members/2.cc:
1489         Likewise.
1490         * testsuite/30_threads/future/cons/move.cc: Likewise.
1491         * testsuite/30_threads/future/members/45133.cc: Likewise.
1492         * testsuite/30_threads/future/members/get.cc: Likewise.
1493         * testsuite/30_threads/future/members/get2.cc: Likewise.
1494         * testsuite/30_threads/future/members/share.cc: Likewise.
1495         * testsuite/30_threads/future/members/valid.cc: Likewise.
1496         * testsuite/30_threads/future/members/wait.cc: Likewise.
1497         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1498         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1499         * testsuite/30_threads/lock/1.cc: Likewise.
1500         * testsuite/30_threads/lock/2.cc: Likewise.
1501         * testsuite/30_threads/lock/3.cc: Likewise.
1502         * testsuite/30_threads/lock/4.cc: Likewise.
1503         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1504         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1505         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1506         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1507         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1508         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1509         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1510         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1511         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1512         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1513         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1514         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1515         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1516         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1517         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1518         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
1519         Likewise.
1520         * testsuite/30_threads/packaged_task/members/get_future.cc:
1521         Likewise.
1522         * testsuite/30_threads/packaged_task/members/get_future2.cc:
1523         Likewise.
1524         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1525         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1526         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1527         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1528         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1529         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1530         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1531         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1532         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
1533         * testsuite/30_threads/promise/cons/1.cc: Likewise.
1534         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1535         * testsuite/30_threads/promise/cons/move.cc: Likewise.
1536         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
1537         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
1538         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
1539         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1540         * testsuite/30_threads/promise/members/set_exception2.cc:
1541         Likewise.
1542         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
1543         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1544         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1545         * testsuite/30_threads/promise/members/swap.cc: Likewise.
1546         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1547         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1548         Likewise.
1549         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1550         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
1551         Likewise.
1552         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1553         Likewise.
1554         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1555         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1556         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1557         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1558         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1559         Likewise.
1560         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1561         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1562         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1563         Likewise.
1564         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1565         Likewise.
1566         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
1567         Likewise.
1568         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
1569         Likewise.
1570         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1571         Likewise.
1572         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1573         Likewise.
1574         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1575         Likewise.
1576         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1577         Likewise.
1578         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1579         Likewise.
1580         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
1581         Likewise.
1582         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1583         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1584         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
1585         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1586         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1587         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
1588         * testsuite/30_threads/shared_future/members/wait_for.cc:
1589         Likewise.
1590         * testsuite/30_threads/shared_future/members/wait_until.cc:
1591         Likewise.
1592         * testsuite/30_threads/this_thread/1.cc: Likewise.
1593         * testsuite/30_threads/this_thread/2.cc: Likewise.
1594         * testsuite/30_threads/this_thread/3.cc: Likewise.
1595         * testsuite/30_threads/this_thread/4.cc: Likewise.
1596         * testsuite/30_threads/thread/cons/1.cc: Likewise.
1597         * testsuite/30_threads/thread/cons/2.cc: Likewise.
1598         * testsuite/30_threads/thread/cons/3.cc: Likewise.
1599         * testsuite/30_threads/thread/cons/4.cc: Likewise.
1600         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
1601         * testsuite/30_threads/thread/cons/5.cc: Likewise.
1602         * testsuite/30_threads/thread/cons/6.cc: Likewise.
1603         * testsuite/30_threads/thread/cons/7.cc: Likewise.
1604         * testsuite/30_threads/thread/cons/8.cc: Likewise.
1605         * testsuite/30_threads/thread/cons/9.cc: Likewise.
1606         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
1607         * testsuite/30_threads/thread/members/1.cc: Likewise.
1608         * testsuite/30_threads/thread/members/2.cc: Likewise.
1609         * testsuite/30_threads/thread/members/3.cc: Likewise.
1610         * testsuite/30_threads/thread/members/4.cc: Likewise.
1611         * testsuite/30_threads/thread/members/5.cc: Likewise.
1612         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
1613         Likewise.
1614         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1615         * testsuite/30_threads/thread/native_handle/typesizes.cc:
1616         Likewise.
1617         * testsuite/30_threads/thread/swap/1.cc: Likewise.
1618         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1619         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
1620         Likewise.
1621         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1622         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1623         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
1624         Likewise.
1625         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1626         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1627         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1628         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1629         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1630         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1631         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1632         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1633         * testsuite/30_threads/try_lock/1.cc: Likewise.
1634         * testsuite/30_threads/try_lock/2.cc: Likewise.
1635         * testsuite/30_threads/try_lock/3.cc: Likewise.
1636         * testsuite/30_threads/try_lock/4.cc: Likewise.
1637         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1638         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1639         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1640         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1641         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1642         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1643         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1644         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1645         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1646         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1647         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1648         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1649         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
1650         * testsuite/ext/profile/mh.cc: Likewise.
1651         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1652         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
1653         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
1654         Likewise.
1655         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1656         Likewise.
1657         * testsuite/util/testsuite_performance.h: Extend current handling
1658         of Linux-based systems to cover all glibc-based systems.
1660 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1662         * include/std/mutex (call_once): Remove parentheses to fix error in
1663         c++1y and gnu++1y mode.
1664         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
1665         thread to avoid undefined behaviour.
1667 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
1669         Simplify and clean up library literals.
1670         * include/std/chrono: Simplify namespace and versioning management.
1671         * include/bits/basic_string.h: Ditto.
1672         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
1673         * testsuite/20_util/duration/literals/values.cc: Ditto.
1674         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
1675         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
1677 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
1679         Implement N3654 - Quoted Strings Library Proposal
1680         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
1681         manipulators and supporting machinery in c++1y mode.
1682         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
1683         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
1685 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1687         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
1688         2162: Add noexcept.
1690 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1692         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
1693         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
1694         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
1695         * testsuite/25_algorithms/equal/2.cc: New.
1696         * testsuite/25_algorithms/equal/check_type2.cc: New.
1697         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
1698         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
1699         * testsuite/25_algorithms/mismatch/2.cc: New.
1700         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
1701         * testsuite/util/testsuite_iterators.h: Fix spelling.
1703 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1705         * include/std/type-traits (integral_constant::operator()): Implement
1706         N3545.
1707         * testsuite/20_util/integral_constant/call_operator.cc: New.
1708         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1709         line numbers.
1710         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1711         Likewise.
1712         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1713         Likewise.
1715 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
1717         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1719 2013-06-05  Tom Tromey  <tromey@redhat.com>
1721         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
1723 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
1725         PR c++/57419
1726         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
1728 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
1730         * include/std/chrono: Collapse redundant 'inline' from 'inline
1731         constexpr'.
1732         * include/std/tuple: Ditto.
1733         * include/bits/move.h: Ditto.
1735 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
1737         Implement N3642 - User-defined Literals for Standard Library Types
1738         * include/bits/parse_numbers.h: New.
1739         * include/std/chrono: Add duration literal operators.
1740         * include/bits/basic_string.h: Add string literal operators.
1741         * include/Makefile.in: Add parse_numbers.h.
1742         * include/Makefile.am: Ditto.
1743         * testsuite/20_util/duration/literals/values.cc: New.
1744         * testsuite/20_util/duration/literals/types.cc: New.
1745         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
1746         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
1747         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
1748         * testsuite/21_strings/basic_string/literals/values.cc: New.
1749         * testsuite/21_strings/basic_string/literals/types.cc: New.
1751 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1753         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
1754         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
1755         calling non-existent from_time_t.
1757 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1759         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1760         Regenerate.
1762 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
1764         * include/std/chrono: Wrap clocks in inline namespace _V2.
1765         * src/c++11/chrono.cc: Same.
1766         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
1767         file, with default configure macros selected.
1769         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
1770         namespace.
1771         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
1773         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1774         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1775         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1776         Regenerated.
1777         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1778         Regenerated.
1779         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1780         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1781         Regenerated.
1782         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1783         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1784         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1785         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1786         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1787         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1788         Regenerated.
1789         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1790         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1792 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1794         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
1795         (CLOCK_MONOTONIC): Define.
1797 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
1799         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
1800         overload.
1802         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
1804 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
1806         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
1807         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
1808         don't define system_clock::is_steady, system_clock::now() and
1809         steady_clock::is_steady.
1810         (std::chrono::system_clock::now()): If
1811         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
1812         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
1813         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
1814         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
1815         be non-empty.
1816         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
1817         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
1818         * src/c++11/compatibility-chrono.cc: New file.
1819         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
1820         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
1821         * testsuite/util/testsuite_abi.cc (check_version): Add
1822         GLIBCXX_3.4.20 version and make it the latest.
1823         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
1824         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
1825         @@GLIBCXX_3.4.20 instead.
1826         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1827         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1828         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1829         Regenerated.
1830         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1831         Regenerated.
1832         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1833         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1834         Regenerated.
1835         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1836         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1837         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1838         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1839         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1840         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1841         Regenerated.
1842         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1843         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1844         * config.h.in: Regenerated.
1845         * src/Makefile.in: Regenerated.
1846         * configure: Regenerated.
1848 2013-05-23  Matthias Klose  <doko@ubuntu.com>
1850         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1851         (ext_headers): Remove ${ext_host_headers}.
1852         (stamp-${host_alias}): Create ${host_builddir}/../ext.
1853         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1854         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1855         * include/Makefile.in: Regenerate.
1856         * include/ext/random: Include ext/opt_random.h.
1858 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1860         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
1861         enable features if target OS is known to support them.
1862         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
1863         * configure: Regenerate.
1865 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
1867         PR libstdc++/57336
1868         * include/std/functional (__invoke): Do not form function types with
1869         abstract return type.
1870         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
1872 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1874         * include/std/tuple (get): Implement N3670.
1875         * include/std/utility (get): Likewise.
1876         * testsuite/20_util/pair/get.cc: Move to ...
1877         * testsuite/20_util/pair/astuple/get.cc: Here.
1878         * testsuite/20_util/pair/astuple/astuple.cc: New.
1879         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
1880         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
1881         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
1882         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
1883         * testsuite/20_util/pair/astuple/get_neg.cc: New.
1884         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
1885         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
1886         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
1888 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
1890         * Revert last commit.
1892 2013-05-19  Matthias Klose  <doko@ubuntu.com>
1894         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1895         (ext_headers): Remove ${ext_host_headers}.
1896         (stamp-${host_alias}): Create ${host_builddir}/../ext.
1897         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1898         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1899         * include/Makefile.in: Regenerate.
1901 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1903         * include/std/system_error (error_category::error_category()): LWG
1904         2145: Declare public and constexpr.
1905         * src/c++11/system_error.cc (error_category::error_category()): Move
1906         definition to ...
1907         * src/c++11/compatibility-c++0x.cc: Here.
1909 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1911         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
1913 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1915         * include/bits/unique_ptr.h (make_unique): Declare inline.
1916         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
1917         (default_delete, unique_ptr): Add doxygen comments.
1918         * include/bits/shared_ptr_base.h: Improve doxygen comments.
1919         * include/bits/shared_ptr.h: Likewise.
1920         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
1921         number.
1922         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
1924 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1926         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1928 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1930         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1932 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1934         * include/std/utility (exchange): Define.
1935         * testsuite/20_util/exchange/1.cc: New.
1937 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1939         * include/bits/unique_ptr.h (make_unique): Define.
1940         * testsuite/20_util/unique_ptr/creation/single.cc: New.
1941         * testsuite/20_util/unique_ptr/creation/array.cc: New.
1942         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
1944 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
1946         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
1947         rendering of std::tr1 unordered containers iterator.
1948         (StdHashtableIterator): New, render std unordered containers iterator.
1949         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
1951 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1953         * include/bits/basic_string.h (getline): Fix doxygen comments.
1955 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
1957         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1958         Use std::pointer_traits.
1960 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1962         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
1963         bad_array_new.cc.
1964         * libsupc++/Makefile.in: Regenerate.
1965         * libsupc++/bad_array_length.cc: Tweak.
1966         * libsupc++/bad_array_new.cc: Tweak.
1968 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1970         PR libstdc++/54577
1971         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
1972         (_Deque_iterator<>::_M_const_cast): Add.
1973         (deque<>::_M_erase): Declare.
1974         * include/bits/deque.tcc: ... and define.
1975         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
1976         (_List_const_iterator<>::_M_const_cast): Add.
1977         * include/bits/list.tcc (erase (iterator)): Fix.
1978         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1979         Add; include <ext/cast.h>.
1980         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
1981         (vector<>::_M_erase): Declare.
1982         * include/bits/stl_bvector.h: Likewise.
1983         * include/bits/vector.tcc (vector<>::_M_erase): Define.
1984         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
1985         * include/debug/deque: Adjust.
1986         * include/debug/list: Likewise.
1987         * include/debug/vector: Likewise.
1988         * include/profile/deque: Likewise.
1989         * include/profile/list: Likewise.
1990         * include/profile/vector: Likewise.
1991         * testsuite/util/exception/safety.h (erase_base<deque>,
1992         erase_base<deque>, erase_base<vector>): Remove.
1993         (erase_base<__versa_string>): Update.
1994         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
1995         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
1996         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
1997         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
1998         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
1999         Likewise.
2000         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
2001         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2002         Adjust dg-error line numbers.
2003         * testsuite/23_containers/deque/requirements/dr438/
2004         constructor_1_neg.cc: Likewise.
2005         * testsuite/23_containers/deque/requirements/dr438/
2006         constructor_2_neg.cc: Likewise.
2007         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2008         Likewise.
2009         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2010         Likewise.
2011         * testsuite/23_containers/list/requirements/dr438/
2012         constructor_1_neg.cc: Likewise.
2013         * testsuite/23_containers/list/requirements/dr438/
2014         constructor_2_neg.cc: Likewise.
2015         * testsuite/23_containers/list/requirements/dr438/
2016         insert_neg.cc: Likewise.
2017         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2018         Likewise.
2019         * testsuite/23_containers/vector/requirements/dr438/
2020         constructor_1_neg.cc: Likewise.
2021         * testsuite/23_containers/vector/requirements/dr438/
2022         constructor_2_neg.cc: Likewise.
2023         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2024         Likewise.
2026 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
2028         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
2030 2013-05-08  Jason Merrill  <jason@redhat.com>
2032         Add std::bad_array_length (N3639)
2033         * libsupc++/new: Add std::bad_array_length.
2034         * libsupc++/bad_array_length.cc: New.
2035         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
2036         * libsupc++/Makefile.in: Build them.
2037         * config/abi/pre/gnu.ver: Add new symbols.
2038         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2040 2013-05-08  Andi Kleen  <ak@linux.intel.com>
2042         PR target/55947
2043         * libstdc++-v3/include/bits/atomic_base.h
2044         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
2045         (atomic_thread_fence, atomic_signal_fence, test_and_set,
2046         clear, store, load, exchange, compare_exchange_weak)
2047         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
2048         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
2050 2013-05-08  Jason Merrill  <jason@redhat.com>
2052         Add std::bad_array_new_length (N2932)
2053         * libsupc++/new: Add std::bad_array_new_length.
2054         * libsupc++/bad_array_new.cc: New.
2055         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
2056         * libsupc++/Makefile.in: Build them.
2057         * config/abi/pre/gnu.ver: Add new symbols.
2058         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2060 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
2062         PR libstdc++/57212
2063         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
2064         to __MINGW32__.
2065         * include/Makefile.in: Regenerated.
2067 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
2069         * include/profile/unordered_base.h: New.
2070         * include/Makefile.am: Add new profile header.
2071         * include/Makefile.in: Regenerate.
2072         * include/profile/impl/profiler.h
2073         (__profcxx_inefficient_hash_is_on): New macro.
2074         * include/profile/unordered_map (std::profile::unordered_map<>):
2075         Use new _Unordered_profile base class. Use default implementations
2076         for special functions.
2077         (std::profile::unordered_multimap<>): Likewise.
2078         * include/profile/unordered_set (std::profile::unordered_set<>):
2079         Likewise.
2080         (std::profile::unordered_multiset<>): Likewise.
2081         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
2082         MoveOnly equality operator signature.
2084 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
2086         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
2087         constexpr_data.cc: Move...
2088         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
2089         ... here.
2090         * testsuite/20_util/integral_constant/requirements/
2091         explicit_instantiation.cc: New.
2092         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
2093         Likewise.
2094         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
2095         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
2096         Likewise.
2097         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
2098         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
2100 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
2102         * include/std/type_traits (is_null_pointer): Add.
2103         (__is_nullptr_t): Implement in terms of the latter.
2104         (is_fundamental, is_scalar): Adjust.
2105         * testsuite/20_util/is_null_pointer/requirements/
2106         explicit_instantiation.cc: New.
2107         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
2108         Likewise.
2109         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
2110         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2111         line number.
2112         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2113         Likewise.
2114         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2115         Likewise.
2117 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
2119         * include/c_global/cstdio: Add comment about LWG 2249.
2120         * include/c_std/cstdio: Likewise.
2122 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2124         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
2125         comment.
2126         * include/std/mutex (__recursive_mutex_base): Likewise.
2128 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2130         PR libstdc++/51365
2131         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
2132         implement EBO safely.
2133         (_Sp_counted_base::_M_get_deleter): Add noexcept.
2134         (_Sp_counter_ptr): Use noexcept instead of comments.
2135         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
2136         (_Sp_counted_ptr_inplace): Likewise.
2137         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
2138         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
2139         custom allocator and test construction with custom allocator.
2140         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
2141         line number.
2143 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
2145         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
2146         dialect to -std=gnu++11.
2148 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
2150         * include/bits/hashtable_policy.h
2151         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
2152         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
2154 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
2156         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
2157         * include/c_std/cstdio (gets): Likewise.
2158         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
2160 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
2162         PR libstdc++/57065
2163         * include/debug/unordered_map (unordered_map, unordered_multimap):
2164         Fix default allocator type.
2165         * include/profile/unordered_map (unordered_map, unordered_multimap):
2166         Likewise.
2167         * include/bits/unordered_map.h: Fix comments.
2169 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
2171         PR libstdc++/56905
2172         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
2173         move implementation to make_exception_ptr.
2174         * include/std/future (_State_base::_M_break_promise): Replace
2175         copy_exception with make_exception_ptr.
2176         * testsuite/18_support/exception_ptr/move.cc: Likewise.
2177         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
2178         * testsuite/30_threads/future/members/get2.cc: Likewise.
2179         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2180         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2181         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2182         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2184 2013-04-22  Jason Merrill  <jason@redhat.com>
2186         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
2188         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
2189         substitution" lines.
2191         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
2192         function-cv-quals.
2193         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2194         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
2195         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
2197 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
2199         * include/bits/hashtable_policy.h: Add C++11 allocator support.
2200         * include/bits/hashtable.h: Likewise.
2201         * include/bits/unordered_set.h: Likewise.
2202         * include/bits/unordered_map.h: Likewise.
2203         * include/debug/unordered_set: Likewise.
2204         * include/debug/unordered_map: Likewise.
2205         * include/std/unordered_set: Remove bits/algobase.h
2206         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
2207         * include/std/unordered_map: Likewise.
2208         * include/ext/throw_allocator.h: Add checks on calls to allocator
2209         construct/destroy.
2210         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
2211         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
2212         * testsuite/util/regression/rand/priority_queue
2213         /container_rand_regression_test.tcc: Adapt.
2214         * testsuite/util/regression/rand/assoc
2215         /container_rand_regression_test.tcc: Likewise.
2216         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
2217         * testsuite/23_containers/unordered_set
2218         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
2219         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
2220         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
2221         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
2222         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
2223         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
2224         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
2225         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
2226         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
2227         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
2228         New.
2229         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
2230         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
2231         New.
2232         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
2233         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
2234         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
2235         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
2236         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
2237         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
2238         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
2239         New.
2240         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
2241         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
2242         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
2243         New.
2244         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
2245         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
2246         New.
2247         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
2248         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
2250 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2252         * include/std/type_traits (is_signed): Simplify.
2253         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2254         Adjust dg-error line numbers.
2255         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2256         Likewise.
2257         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2259 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2261         N3669
2262         * include/std/complex (complex<float>::real, complex<float>::imag,
2263         complex<double>::real, complex<double>::imag,
2264         complex<long double>::real, complex<long double>::imag): Declare
2265         as const member functions.
2266         * include/std/type_traits (integral_constant<>::operator value_type):
2267         Likewise.
2269 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2271         PR libstdc++/57010
2272         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
2273         * testsuite/25_algorithms/pop_heap/57010.cc: New.
2275 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
2277         * src/c++11/system_error.cc (generic_category_instance): Add
2278         initializer.
2279         (system_category_instance): Likewise.
2280         * src/c++11/future.cc (__fec): Likewise.
2282 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2284         * doc/xml/manual/extensions.xml: Fix anachronism.
2286 2013-04-09  Tom Tromey  <tromey@redhat.com>
2288         * configure, config.h.in: Rebuild.
2289         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
2290         sys/sdt.h.
2291         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
2293 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
2295         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2297 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
2299         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
2301 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2303         * include/Makefile.am: Add ext/aligned_buffer.h
2304         * include/Makefile.in: Regenerate.
2305         * include/ext/aligned_buffer.h: New.
2306         * include/std/future (_Result): Use __aligned_buffer.
2307         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
2308         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
2309         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
2310         number.
2312 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2314         * include/bits/forward_list.h: Only include required headers.
2315         (forward_list::reference): Define directly, not using __alloc_traits.
2316         (forward_list::const_reference): Likewise.
2318 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
2320         * include/std/functional (_Derives_from_unary_function): Remove.
2321         (_Derives_from_binary_function): Remove.
2322         * include/std/type_traits (__sfinae_types): Remove.
2323         (__is_assignable_helper): Adapt.
2324         (__is_convertible_helper): Adapt.
2325         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
2326         Remove several explicit instantiations of integral_constant.
2327         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
2328         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2329         Adapt dg-error line number.
2330         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2331         Likewise.
2332         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2333         * testsuite/20_util/bind/ref_neg.cc: Likewise.
2335 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2337         PR libstdc++/56841
2338         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
2339         get_terminate() accessors.
2340         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2341         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
2342         available.
2343         * libsupc++/new_handler.cc: Likewise.
2345 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2347         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
2349 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
2351         PR libstdc++/56834
2352         * include/debug/array (tuple_size, tuple_element): Do not declare.
2353         * include/profile/array: Likewise.
2354         * testsuite/23_containers/array/tuple_interface/
2355         tuple_element_debug_neg.cc: Adjust dg-error line number.
2357 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
2359         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
2360         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
2361         Define.
2362         (set_terminate(terminate_handler)): Set atomically.
2363         (set_unexpected(terminate_handler)): Likewise.
2364         * libsupc++/new (get_new_handler()): Declare.
2365         * libsupc++/new_handler.cc (get_new_handler()): Define.
2366         (set_new_handler(new_handler)): Set atomically.
2367         (__new_handler): Use internal linkage.
2368         * libsupc++/new_op.cc (operator new): Use get_new_handler().
2369         * libsupc++/new_opnt.cc (operator new): Likewise.
2370         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
2371         * configure: Regenerate.
2372         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
2373         * libsupc++/Makefile.in: Regenerate.
2374         * config/abi/pre/gnu.ver: Add new exports.
2375         * doc/xml/manual/status_cxx2011.xml: Update.
2376         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
2377         for handlers.
2378         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
2379         * testsuite/18_support/new_handler.cc: New.
2380         * testsuite/18_support/terminate_handler.cc: New.
2381         * testsuite/18_support/unexpected_handler.cc: New.
2383 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2385         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
2386         defer to general documentation on contributing to GCC.
2387         * doc/html/*: Regenerate.
2389 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
2391         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
2393         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
2394         Coding Standards.
2396         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
2398         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
2400         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
2402         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
2404         * doc/xml/manual/policy_data_structures: Remove direct link to
2405         IBM Haifa Research Labs.
2407         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
2408         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
2410         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
2411         papers.
2413         * doc/xml/manual/shared_ptr.xml: Use canonical address for
2414         www.boost.org.
2416 2013-03-27  Kai Tietz  <ktietz@redhat.com>
2418         * crossconfig.m4: Add support for cygwin x64 target.
2419         * configure: Regenerated.
2421 2013-03-25  Kai Tietz  <ktietz@redhat.com>
2423         * testsuite/18_support/50594.cc: For mingw-targets use only static
2424         libstdc++-version.
2425         * testsuite/19_diagnostics/error_category/operators/equal.cc
2426         * testsuite/19_diagnostics/error_code/cons/1.cc
2427         * testsuite/19_diagnostics/error_code/operators/bool.cc
2428         * testsuite/19_diagnostics/error_code/operators/equal.cc
2429         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
2430         * testsuite/19_diagnostics/error_condition/cons/1.cc
2431         * testsuite/19_diagnostics/error_condition/operators/bool.cc
2432         * testsuite/19_diagnostics/error_condition/operators/equal.cc
2433         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
2434         * testsuite/23_containers/set/requirements/exception/basic.cc
2435         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
2436         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
2438 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
2440         PR libstdc++/56170
2441         * include/ext/debug_allocator.h (debug_allocator): Add missing members
2442         to meet allocator requirements.
2443         * testsuite/ext/debug_allocator/56170.cc: New.
2445 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
2447         PR libstdc++/56678
2448         * include/std/chrono (__is_ratio): Uglify T.
2450 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
2452         PR libstdc++/55977 (partial, std::vector and std::deque bits)
2453         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
2454         _InputIterator, std::input_iterator_tag)): Use emplace_back.
2455         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
2456         _InputIterator, std::input_iterator_tag)): Likewise.
2457         * testsuite/23_containers/vector/cons/55977.cc: New.
2458         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
2459         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2460         Adjust dg-error line number.
2461         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2462         Likewise.
2464 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
2466         PR libstdc++/55979
2467         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
2468         _InputIterator, __false_type)): Use emplace_back.
2469         * testsuite/23_containers/list/cons/55979.cc: New.
2470         * testsuite/23_containers/list/modifiers/1.h: Adjust.
2471         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2472         Adjust dg-error line number.
2474 2013-03-16  Jason Merrill  <jason@redhat.com>
2476         PR c++/55017
2477         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
2479 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2481         PR libstdc++/56468
2482         * libsupc++/exception_ptr.h (type_info): Declare.
2484 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2486         PR libstdc++/56002
2487         * include/std/mutex (lock_guard, unique_lock, lock): Define without
2488         depending on _GLIBCXX_HAS_GTHREADS.
2489         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
2491 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2493         PR libstdc++/56492
2494         * include/std/future (__future_base::_Result): Add result_type
2495         typedef.
2496         (__future_base::_S_allocate_result): Overload for std::allocator.
2497         (__future_base::_Task_setter): Use _Result::result_type instead of
2498         deducing the type from the task.
2499         (__future_base::_Task_state): Store allocator to allow shared state
2500         to be reset.  Replace std::function with member of target object type
2501         accessed via ...
2502         (__future_base::_Task_state_base): New abstract base class.
2503         (__future_base::_Task_state_base::_M_run): New virtual function to
2504         invoke type-erased target object.
2505         (__future_base::_Task_state_base::_M_reset): New virtual function to
2506         create new shared_state using same target object and allocator.
2507         (__future_base::__create_task_state): Allocate a new _Task_state.
2508         (packaged_task::packaged_task): Use __create_task_state.
2509         (packaged_task::reset): Use _Task_state_base::_M_reset.
2510         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
2512 2013-03-15  Tom Tromey  <tromey@redhat.com>
2514         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
2515         (PROBE2): New macro.
2516         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
2517         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
2518         * configure.ac: Check for sys/sdt.h.
2519         * configure, config.h.in: Rebuild.
2521 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2523         PR libstdc++/56613
2524         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
2525         allocator_traits instead of calling construct directly.
2526         * testsuite/23_containers/map/56613.cc: New.
2528 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
2530         * doc/html/*: Regenerate.
2532 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
2534         PR libstdc++/56609
2535         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
2536         * testsuite/20_util/is_fundamental/value.cc: Extend.
2537         * testsuite/20_util/is_compound/value.cc: Likewise.
2539 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
2541         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
2542         -Wunused warnings.
2544 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2546         * include/bits/memoryfwd.h: New. Centralize forward declarations.
2547         * include/bits/algorithmfwd.h: Consistent comments.
2548         * include/bits/localefwd.h: Same.
2549         * include/ext/vstring_fwd.h: Same.
2550         * include/parallel/algorithmfwd.h: Same.
2551         * include/parallel/numericfwd.h: Same.
2552         * include/std/iosfwd: Same.
2554         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
2555         forward decl.
2556         * include/ext/alloc_traits.h: Remove allocator forward decl.
2557         * include/bits/stl_construct.h: Same.
2558         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
2559         forward decl. Consistent comments.
2561         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
2563         * include/Makefile.am (bits_headers): Add memoryfwd.h.
2564         * include/Makefile.in: Regenerate.
2565         * configure: Same.
2567 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
2569         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
2570         Reset pointers after deallocation when memory can be reused.
2571         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
2572         elements to really challenge C++11 allocator integration.
2573         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
2574         * testsuite/23_containers/vector/allocator/copy_assign.cc:
2575         Likewise.
2576         * testsuite/23_containers/vector/allocator/move_assign.cc:
2577         Likewise.
2578         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
2579         swap vector back before checks on memory/personality mapping are
2580         performed.
2581         * testsuite/23_containers/forward_list/allocator/minimal.cc:
2582         Insert element to really challenge C++11 allocator integration.
2583         * testsuite/23_containers/forward_list/allocator/copy.cc:
2584         Likewise.
2585         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
2586         Likewise.
2587         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
2588         Likewise.
2589         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
2590         and swap forward_list back before checks on memory/personality
2591         mapping are performed.
2593 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
2595         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2596         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2597         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2598         Likewise.
2599         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2600         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2601         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2602         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2603         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2604         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2606 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2608         * scripts/extract_symvers.pl: Omit symbols bound to base
2609         versions.
2610         * scripts/extract_symvers.in: Likewise.
2611         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2612         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2613         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2614         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2615         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2617 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
2619         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
2620         Optimize generation function by pulling computation of __r into the
2621         constructor for param_type.  Also compare _M_mu in operator==.
2622         Fix comment.
2624 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
2626         Add triangular and von Mises distributions.
2627         * include/ext/random: Include <ext/cmath>.
2628         Add __gnu_cxx::triangular_distribution<> and
2629         __gnu_cxx::von_mises_distribution<> classes.
2630         * include/ext/random.tcc: Add out-of-line functions for
2631         __gnu_cxx::triangular_distribution<> and
2632         __gnu_cxx::von_mises_distribution<>.
2633         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
2634         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
2635         * testsuite/ext/triangular_distribution/operators/serialize.cc:
2636         New file.
2637         * testsuite/ext/triangular_distribution/operators/equal.cc:
2638         New file.
2639         * testsuite/ext/triangular_distribution/operators/inequal.cc:
2640         New file.
2641         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
2642         New file.
2643         * testsuite/ext/triangular_distribution/requirements/
2644         explicit_instantiation/1.cc: New file.
2645         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
2646         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
2647         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
2648         New file.
2649         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
2650         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
2651         New file.
2652         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
2653         New file.
2654         * testsuite/ext/von_mises_distribution/requirements/
2655         explicit_instantiation/1.cc: New file.
2657         Add math constants.
2658         * include/Makefile.am (ext_headers): Add cmath.
2659         * include/Makefile.in: Regenerated.
2660         * include/ext/cmath: New file.
2662 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2664         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2665         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2666         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2667         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2668         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2670 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2672         PR libstdc++/56012
2673         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
2674         * testsuite/29_atomics/atomic/operators/56012.cc: New.
2676         PR libstdc++/56011
2677         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
2678         missing overload.
2679         * testsuite/29_atomics/atomic/operators/56011.cc: New.
2681 2013-02-25  Jason Merrill  <jason@redhat.com>
2683         * configure.ac: Check for __cxa_thread_atexit_impl.
2684         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
2685         to it if available.
2686         * config.h.in, configure: Regenerate.
2688 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2690         * include/std/streambuf (basic_streambuf): Use injected class name
2691         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
2692         group.
2694 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2696         * doc/html/faq.html: Fix spelling.
2697         * doc/xml/faq.xml: Likewise.
2698         * include/bits/basic_ios.h: Likewise.
2699         * include/bits/regex.h: Likewise.
2700         * include/std/istream: Likewise.
2701         * include/std/streambuf: Likewise.
2703 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2705         * testsuite/23_containers/unordered_set/55043.cc: Add missing
2706         namespace qualification.
2707         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2709 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
2711         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
2712         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
2713         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
2714         * include/bits/stl_pair.h: Add to utilities group.
2715         * include/std/tuple: Same.
2716         * include/std/typeindex: Same.
2718         * include/bits/stringfwd.h: Fix markup.
2719         * include/std/limits: Same.
2720         * include/std/type_traits: Same.
2721         * include/tr1/memory: Same.
2722         * include/tr1/regex: Same.
2723         * scripts/run_doxygen: Comment.
2724         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
2726 2013-02-14  Jason Merrill  <jason@redhat.com>
2728         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
2729         test if unsupported.
2731 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
2733         PR libstdc++/56111
2734         * include/std/complex (complex): Undefine.
2735         * include/c_compatibility/complex.h (complex): Only undefine if
2736         <complex> has been included.
2737         * testsuite/26_numerics/complex/56111.cc: New testcase.
2739 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
2741         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
2742         default constructor protected.
2743         * include/bits/hashtable.h: static assert that _Hash_code_base has
2744         a default constructor available through inheritance.
2746 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
2748         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
2749         C++11 mode.
2751 2013-02-12  Julian Brown  <julian@codesourcery.com>
2753         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
2754         Don't expect dots after abbreviated weekday names for ru_RU for
2755         glibc versions >= 2.17.
2756         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
2757         Likewise.
2759 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
2761         * include/bits/random.tcc (__transform): Remove.
2762         (__normalize): Add.
2763         (discrete_distribution<>::param_type::_M_initialize): Adjust.
2764         (piecewise_constant_distribution<>::param_type::_M_initialize):
2765         Likewise.
2766         (piecewise_linear_distribution<>::param_type::_M_initialize):
2767         Likewise.
2769 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
2771         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
2772         Use -fimplicit-templates.
2773         * src/c++11/Makefile.in: Regenerate.
2774         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
2775         std::lower_bound template.
2777 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
2779         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
2780         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
2781         in C++11 mode and if available in the underlying C library.
2782         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
2783         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
2784         _GLIBCXX_HAVE_QUICK_EXIT.
2786 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
2788         * doc/html/*: Regenerate.
2790 2013-02-11  Jason Merrill  <jason@redhat.com>
2792         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
2793         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
2794         * config.h.in, configure: Regenerate.
2795         * include/c_std/cstdlib: Add atexit and at_quick_exit.
2796         * include/c_global/cstdlib: Add atexit and at_quick_exit.
2797         * testsuite/18_support/quick_exit/quick_exit.cc: New.
2799 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
2801         PR libstdc++/56282
2802         Revert:
2803         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
2805         PR libstdc++/56193
2806         * include/bits/basic_ios.h: Replace operator void*() const
2807         with explicit operator bool() const in C++11 and greater.
2808         * testsuite/27_io/basic_ios/pr56193.cc: New file.
2810 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
2811             Jonathan Wakely  <jwakely.gcc@gmail.com>
2813         * doc/xml/manual/containers.xml: Add section on unordered containers.
2814         * doc/xml/manual/using.xml: Fix incomplete sentence.
2816 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2818         PR libstdc++/56267
2819         * include/bits/hashtable.h (__cache_default): Check if hash function
2820         is copy assignable.
2821         * testsuite/23_containers/unordered_set/56267.cc: New.
2822         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2823         dg-error line number.
2824         * testsuite/23_containers/unordered_set/
2825         not_default_constructible_hash_neg.cc: Likewise.
2827         PR libstdc++/56278
2828         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
2829         constructor public.
2830         * testsuite/23_containers/unordered_set/56278.cc: New.
2832 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
2834         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
2835         simplification.
2837 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
2839         PR libstdc++/56216
2840         * include/tr1/special_function_util.h: Remove spurious const
2841         from numeric arguments.
2842         * include/tr1/riemann_zeta.tcc: Likewise.
2843         * include/tr1/exp_integral.tcc: Likewise.
2844         * include/tr1/bessel_function.tcc: Likewise.
2845         * include/tr1/hypergeometric.tcc: Likewise.
2846         * include/tr1/modified_bessel_func.tcc: Likewise.
2847         * include/tr1/poly_laguerre.tcc: Likewise.
2848         * include/tr1/gamma.tcc: Likewise.
2849         * include/tr1/legendre_function.tcc: Likewise.
2850         * include/tr1/poly_hermite.tcc: Likewise.
2851         * include/tr1/ell_integral.tcc: Likewise.
2852         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
2853         If argument is zero return function value.
2854         * testsuite/tr1/5_numerical_facilities/special_functions/
2855         08_cyl_bessel_i/pr56216.cc: New.
2857 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
2859         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
2861 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
2863         PR libstdc++/56193
2864         * include/bits/basic_ios.h: Replace operator void*() const
2865         with explicit operator bool() const in C++11 and greater.
2866         * testsuite/27_io/basic_ios/pr56193.cc: New file.
2868 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
2870         Add missing explicit instantiation for std::lower_bound template
2871         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
2872         missing instantiation for std::lower_bound template.
2874 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
2876         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
2877         * include/bits/basic_string.h: Specialize previous to mark
2878         std::hash for string types as slow.
2879         * include/bits/hashtable.h (__cache_default): Replace is_integral
2880         with __is_fast_hash.
2881         * src/c++11/hash_c++0x.cc: Add type_traits include.
2882         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2883         Adapt dg-error line number.
2884         * testsuite/23_containers/unordered_set/
2885         not_default_constructible_hash_neg.cc: Likewise.
2887 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2888             Paolo Carlini  <paolo.carlini@oracle.com>
2890         PR libstdc++/56202 (again)
2891         * include/bits/random.tcc (binomial_distribution<>::
2892         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
2893         in previous commit.
2895         * include/bits/random.h: Fix comment typo.
2897 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2898             Paolo Carlini  <paolo.carlini@oracle.com>
2900         PR libstdc++/56202
2901         * include/bits/random.tcc (binomial_distribution<>::
2902         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
2903         division by zero.
2905 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
2907         Update copyright years.
2908         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
2909         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
2910         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
2911         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
2912         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
2913         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
2914         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
2915         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
2916         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
2917         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
2918         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
2919         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
2920         testsuite/29_atomics/atomic/cons/assign_neg.cc,
2921         testsuite/29_atomics/atomic/cons/copy_neg.cc,
2922         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
2923         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
2924         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
2925         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
2926         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
2927         Update lines in dg error matches.
2929 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
2931         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
2933 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
2935         * include/bits/hashtable_policy.h
2936         (_Prime_rehash_policy::_M_next_bkt)
2937         (_Prime_rehash_policy::_M_need_rehash): Move definition...
2938         * src/c++11/hashtable_c++0x.cc: ... here.
2939         * src/shared/hashtable-aux.cc: Remove c++config.h include.
2940         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
2941         symbols.
2943 2013-01-29  Jason Merrill  <jason@redhat.com>
2945         PR libstdc++/54314
2946         * config/abi/pre/gnu.ver: Don't export construction vtables.
2947         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
2949 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2951         PR libstdc++/56112
2952         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
2953         to construct value_type explicitly before trying to extract the key.
2954         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
2956 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
2958         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
2959         _Hashtable_ebo_helper to embed functors into the local_iterator
2960         when necessary. Pass information about functors involved in hash
2961         code by copy.
2962         * include/bits/hashtable.h (__cache_default): Do not cache for
2963         builtin integral types unless the hash functor is not noexcept
2964         qualified or is not default constructible. Adapt static assertions
2965         and local iterator instantiations.
2966         * include/debug/unordered_set
2967         (std::__debug::unordered_set<>::erase): Detect local iterators to
2968         invalidate using contained node rather than generating a dummy
2969         local_iterator instance.
2970         (std::__debug::unordered_multiset<>::erase): Likewise.
2971         * include/debug/unordered_map
2972         (std::__debug::unordered_map<>::erase): Likewise.
2973         (std::__debug::unordered_multimap<>::erase): Likewise.
2974         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
2975         std::tr1 and std versions of unordered_set regardless of any
2976         macro. Add test on default cache behavior.
2977         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
2978         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2979         Adapt line number.
2980         * testsuite/23_containers/unordered_set/
2981         not_default_constructible_hash_neg.cc: New.
2982         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
2984 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
2986         PR libstdc++/56085
2987         * include/std/complex (pow(const complex<>&, int)): Avoid __n
2988         signed overflow.
2990 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
2992         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2993         Tightten scan-assembler-times regexps, add dg-additional-options for
2994         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
2995         dg-options.
2997 2013-01-12  Andi Kleen  <ak@linux.intel.com>
2998             Jonathan Wakely  <jwakely.gcc@gmail.com>
3000         PR libstdc++/55233
3001         * include/bits/atomic_base.h (__memory_order_modifier): Add
3002         __memory_order_mask, __memory_order_modifier_mask,
3003         __memory_order_hle_acquire, __memory_order_hle_release.
3004         (operator|,operator&): Add.
3005         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
3006         (__cmpexch_failure_order): Add.
3007         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
3008         Handle flags.
3009         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3010         Add.
3012 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
3014         PR libstdc++/55861
3015         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
3016         Fix return type.
3017         (__basic_future::_M_get_result()): Const qualify.
3018         (shared_future::get()): Likewise.
3019         * testsuite/30_threads/shared_future/members/get.cc: Use const
3020         objects.
3022 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3024         PR libstdc++/55043 (again)
3025         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
3026         unless construction would be well-formed.
3027         (__allow_copy_cons, __check_copy_constructible): Define.
3028         * include/bits/unordered_map.h (__check_copy_constructible): Use as
3029         base class so copy constructor will be deleted if appropriate.
3030         (is_copy_constructible): Remove specialization.
3031         * include/bits/unordered_set.h: Likewise.
3032         * include/debug/unordered_map.h: Undo previous commit. Default copy
3033         and move constructors.
3034         * include/debug/unordered_set.h: Likewise.
3035         * include/profile/unordered_map.h: Undo previous commit.
3036         * include/profile/unordered_set.h: Likewise.
3037         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
3038         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
3039         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3040         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
3041         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
3042         cannot support incomplete types.
3043         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
3044         Likewise.
3046 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3048         PR libstdc++/55043
3049         * include/std/unordered_map: Include alloc_traits.h
3050         * include/std/unordered_set: Likewise.
3051         * include/bits/alloc_traits.h: Define __is_copy_insertable.
3052         * include/bits/unordered_map.h: Use it.
3053         * include/bits/unordered_set.h: Likewise.
3054         * include/debug/unordered_map.h: Likewise.
3055         * include/debug/unordered_set.h: Likewise.
3056         * include/profile/unordered_map.h: Likewise.
3057         * include/profile/unordered_set.h: Likewise.
3058         * include/bits/hashtable.h: Fix comment typos.
3059         * testsuite/23_containers/unordered_map/55043.cc: New.
3060         * testsuite/23_containers/unordered_multimap/55043.cc: New.
3061         * testsuite/23_containers/unordered_multiset/55043.cc: New.
3062         * testsuite/23_containers/unordered_set/55043.cc: New.
3064 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
3066         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
3067         gdb command.
3069 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3071         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
3073 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3075         PR libstdc++/55908
3076         * include/std/functional (_Mem_fn::operator()): Fix constraints to
3077         avoid ambiguity.
3078         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
3079         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
3081 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3083         PR libstdc++/55594
3084         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
3085         Solaris targets.
3086         * configure: Regenerate.
3088 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3090         PR libstdc++/55847
3091         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
3092         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
3093         string.
3095         PR libstdc++/55728
3096         * include/std/functional (bad_function_call::what()): Declare.
3097         * src/c++11/functional.cc (bad_function_call::what()): Define.
3098         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
3099         * testsuite/20_util/bad_function_call/what.cc: New.
3101 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3103         * include/bits/unordered_map.h: Fix typo in comments.
3104         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
3105         counts for unordered associative containers.
3107 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3109         * doc/xml/manual/abi.xml: Update library and symbol versions.
3111 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
3113         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
3114         in copyright years.
3115         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
3118 Copyright (C) 2013 Free Software Foundation, Inc.
3120 Copying and distribution of this file, with or without modification,
3121 are permitted in any medium without royalty provided the copyright
3122 notice and this notice are preserved.