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