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