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