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