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