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