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