2013-08-08 François Dumont <fdumont@gcc.gnu.org>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob41150bd124a73fe6e25fd9d5182de9dd72707e19
1 2013-08-08  François Dumont  <fdumont@gcc.gnu.org>
3         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
4         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
5         _Hashtable.
6         (_Before_begin<>): Remove.
7         * include/bits/hashtable.h (_Hashtable): Inherit from
8         _Hashtable_alloc and adapt. Restore _M_before_begin field.
9         * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
10         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
11         access to hashtable before begin.
12         * testsuite/23_containers/unordered_set/
13         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
14         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
15         Likewise.
17 2013-08-07  Tim Shen  <timshen91@gmail.com>
19         * include/Makefile.am: Adjust to new files.
20         * include/Makefile.in: Regenerate.
21         * include/bits/regex.h: Adjust to new interfaces.
22         * include/bits/regex_automaton.h: New.
23         * include/bits/regex_automaton.tcc: New.
24         * include/bits/regex_compiler.h: Adjust to new files.
25         * include/bits/regex_compiler.tcc: New.
26         * include/bits/regex_constants.h: Tail spaces.
27         * include/bits/regex_error.h: Likewise.
28         * include/bits/regex_executor.h: New.
29         * include/bits/regex_executor.tcc: New.
30         * include/std/regex: Adjust to new files.
31         * testsuite/28_regex/algorithms/regex_match/extended/
32         string_dispatch_01.cc: Adjust to new interfaces.
34 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
36         * include/ext/atomicity.h: Add #pragma GCC system_header.
38 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
40         PR libstdc++/58098
41         * include/bits/random.h (cauchy_distribution<>::min,
42         extreme_value_distribution<>::min, normal_distribution<>::min,
43         student_t_distribution<>::min): Fix.
44         * include/ext/random (normal_mv_distribution<>::min): Likewise.
45         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
46         Adjust.
47         testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
48         Likewise.
49         * testsuite/26_numerics/random/extreme_value_distribution/cons/
50         parms.cc: Likewise.
51         testsuite/26_numerics/random/extreme_value_distribution/cons/
52         default.cc: Likewise.
53         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
54         Likewise.
55         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
56         Likewise.
57         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
58         Likewise.
59         * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
60         Likewise.
61         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
62         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
64         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
65         Minor tweak.
66         * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
67         Likewise.
69         * testsuite/ext/von_mises_distribution/*: Move to...
70         * testsuite/ext/random/von_mises_distribution/*: ... here.
71         * testsuite/ext/triangular_distribution/*: Move to...
72         * testsuite/ext/random/triangular_distribution/*: ... here.
74 2013-08-06  Caroline Tice  <cmtice@google.com>
76         * fragment.am: Add XTEMPLATE_FLAGS.
77         * configure.ac: Add definitions for --enable-vtable-verify.
78         * acinclude.m4:  Add --enable-vtable-verify and
79         --disable-vtable-verify; define --enable-vtable-verify; define
80         VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
81         * config/abi/pre/gnu.ver: Export symbols for vtable verification.
82         * libsupc++/Makefile.am: Define vtv_sources and add it to
83         libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
84         * libsupc++/vtv_stubs.cc: New file.
85         * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
86         * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
87         VTV_CXXLINKFLAGS to CXXLINK.
88         * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
89         to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
90         * src/C++11/Makefile.am: Ditto.
91         * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
92         * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
93         cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
94         * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
95         libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
96         cxxvtvflags to cxx_final.
97         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
98         -fvtable-verify=none to compiler flags.
99         * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
100         to compiler flags.
101         * configure: Regenerated.
102         * Makefile.in: Regenerated.
103         * python/Makefile.in: Regenerated.
104         * include/Makefile.in: Regenerated.
105         * libsupc++/Makefile.in: Regenerated.
106         * config.h.in: Regenerated.
107         * po/Makefile.in: Regenerated.
108         * src/Makefile.in: Regenerated.
109         * src/c++98/Makefile.in: Regenerated.
110         * src/c++11/Makefile.in: Regenerated.
111         * doc/Makefile.in: Regenerated.
112         * testsuite/Makefile.in: Regenerated.
114 2013-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
116         Revert the last commit.
118 2013-08-06  François Dumont  <fdumont@gcc.gnu.org>
120         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
121         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
122         _Hashtable.
123         (_Before_begin<>): Remove.
124         * include/bits/hashtable.h (_Hashtable): Inherit from
125         _Hashtable_alloc and adapt. Restore _M_before_begin field.
126         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
127         access to hashtable before begin.
128         * testsuite/23_containers/unordered_set/
129         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
130         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
131         Likewise.
133 2013-08-03  Tim Shen  <timshen91@gmail.com>
135         Implement bracket expression.
136         * include/bits/regex.h: Remove constexpr from "|=", etc.
137         * include/bits/regex_compiler.h: Parse bracket expression.
138         * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
139         _RangeMatcher).
140         * include/bits/regex_nfa.tcc: Implement them.
141         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
142         from regex_search to regex_match.
143         * testsuite/28_regex/algorithms/regex_match/extended/
144         cstring_bracket_01.cc: New.
146 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
148         * include/debug/functions.h (__foreign_iterator_aux4):
149         Initialize __l and __ge.
151 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
153         PR libstdc++/58049
154         * include/debug/functions.h: Include <bits/move.h>; minor formatting
155         changes.
156         (__foreign_iterator_aux4): Declare __l and __ge constexpr.
157         * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
158         Use __addressof.
159         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
160         operator->): Likewise.
162 2013-08-01  François Dumont  <fdumont@gcc.gnu.org>
164         PR libstdc++/57779
165         * include/debug/formatter.h (_Debug_msg_id): Add
166         __msg_insert_itself_range entry.
167         * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
168         New, indicate container types supporting self range insertion in
169         GNU implementation.
170         (__foreign_iterator): New, check if an iterator points to a given
171         sequence.
172         * include/debug/macros.h (__glibcxx_check_insert_range): Add check
173         using __foreign_iterator.
174         (__gibcxx_check_insert_range_after): Likewise.
175         * include/debug/string (_Insert_range_from_self_is_safe<>):
176         Partially specialized to mark __gnu_debug::basic_string<> as
177         supporting self range insert.
178         * include/debug/list (_Insert_range_from_self_is_safe<>):
179         Partially specialized to mark std::list as supporting self range
180         insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
181         * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
182         Likewise.
183         * src/c++11/debug.cc (_S_debug_messages): Add
184         __msg_insert_itself_range_entry message.
185         (_Error_formatter::_Parameter::_M_print_description): Display
186         iterator sequence address rather than sequence address when the
187         parameter type is an iterator.
188         (_Error_formatter::_M_print_word): Enhance behavior when
189         displaying a word with an appended '\n'.
190         * testsuite/util/debug/checks.h (check_insert4<>): New.
191         * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
192         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
193         * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
194         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
195         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
196         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
197         Likewise.
199 2013-08-01  Fabien Chêne  <fabien@gcc.gnu.org>
201         PR c++/54537
202         * include/tr1/cmath: Remove pow(double,double) overload, remove a
203         duplicated comment about DR 550. Add a comment to explain the
204         issue.
205         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
207 2013-07-31  Tim Shen  <timshen91@gmail.com>
209         Thompson matcher refactored. Fix grouping problem.
210         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
211         * include/bits/regex_compiler.h: Tweak for auto switching.
212         * include/bits/regex_grep_matcher.h: Class structure.
213         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
214         matcher) refactoring.
215         * include/bits/regex_nfa.h: Change _Results's interfaces.
216         * include/std/regex: Includes <map> and <queue>.
217         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
218         For both matchers.
219         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
220         For both matchers.
221         * testsuite/28_regex/algorithms/regex_match/extended/
222         string_dispatch_01.cc: New.
224 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
226         PR libstdc++/56627
227         * include/bits/stl_bvector.h: Use friend struct hash intead of
228         friend class hash to work around useless warnings produced by
229         some compilers.
230         * include/std/bitset: Likewise.
232 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
234         * src/c++11/functexcept.cc: Do not include the whole <regex>.
235         * src/c++11/regex.cc: Likewise.
237 2013-07-31  Tim Shen  <timshen91@gmail.com>
239         Revert last commit.
241 2013-07-31  Tim Shen  <timshen91@gmail.com>
243         Thompson matcher refactored. Fix grouping problem.
244         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
245         * include/bits/regex_compiler.h: Tweak for auto switching.
246         * include/bits/regex_grep_matcher.h: Class structure.
247         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
248         matcher) refactoring.
249         * include/bits/regex_nfa.h: Change _Results's interfaces.
250         * include/std/regex: Includes <map> and <queue>.
251         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
252         For both matchers.
253         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
254         For both matchers.
255         * testsuite/28_regex/algorithms/regex_match/extended/
256         string_dispatch_01.cc: New.
258 2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
260         Revert last commit.
262 2013-07-30  Tim Shen  <timshen91@gmail.com>
264         Thompson matcher refactored. Fix grouping problem.
265         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
266         * include/bits/regex_compiler.h: Tweak for auto switching.
267         * include/bits/regex_grep_matcher.h: Class structure.
268         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
269         matcher) refactoring.
270         * include/bits/regex_nfa.h: Change _Results's interfaces.
271         * include/std/regex: Includes <map> and <queue>.
272         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
273         For both matchers.
274         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
275         For both matchers.
276         * testsuite/28_regex/algorithms/regex_match/extended/
277         string_dispatch_01.cc: New.
279 2013-07-29  Nathan Froyd  <froydnj@gcc.gnu.org>
281         * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
282         Add call to __cmpexch_failure_order.
283         * testsuite/util/testsuite_common_types.h
284         (compare_exchange_order_lowering): New generator.
285         * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
286         New test.
288 2013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
290         * include/std/complex (pow(const complex<>&, int)): Enable in
291         C++11 mode too.
292         * testsuite/26_numerics/complex/dr844.cc: Adjust.
293         * doc/xml/manual/intro.xml: Update.
295 2013-07-25  Tim Shen  <timshen91@gmail.com>
297         Add documents and comments.
298         * include/bits/regex.h: Documents and comments.
299         * include/bits/regex_grep_matcher.h: Likewise.
300         * include/bits/regex_grep_matcher.tcc: Likewise.
301         * testsuite/28_regex/iterators/regex_iterator/char/
302         string_position_01.cc: New.
304 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
306         PR libstdc++/57976
307         * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
308         time_get::do_get.
310 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
312         * include/bits/random.h (random_device): Avoid using the FILE type.
313         * include/std/random: Do not include <cstdio>.
314         * src/c++11/random.cc: ... include it here.
315         (random_device::_M_init, random_device::_M_fini,
316         random_device::_M_getval): Cast back and forth void* and FILE*.
318 2013-07-24  Tim Shen  <timshen91@gmail.com>
320         Reimplment matcher using Depth-first search(backtracking).
321         PR libstdc++/53622
322         PR libstdc++/57173
323         * include/bits/regex.h: regex_match() and regex_search().
324         * include/bits/regex_cursor.h: Fix _M_set_pos().
325         * include/bits/regex_grep_matcher.h: add _M_dfs_match().
326         * include/bits/regex_grep_matcher.tcc: Implement it.
327         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
328         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
329         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
330         Remove xfail.
332 2013-07-23  Tim Shen  <timshen91@gmail.com>
334         Implement regex_iterator and regex_token_iterator.
335         * include/bits/regex.h: regex_iterator and regex_token_iterator.
336         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
337         New.
338         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
339         New.
340         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
341         New.
342         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
343         string_01.cc: New.
345 2013-07-23  Paolo Carlini  <paolo.carlini@oracle.com>
347         * include/std/random: Add back <cstdio> include.
348         * src/c++11/random.cc: Don't include <cstdio> here.
350 2013-07-22  Jason Merrill  <jason@redhat.com>
352         PR libstdc++/57914
353         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
355 2013-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
357         PR c++/57920
358         * src/c++11/random.cc (random_device::_M_getval): If possible, use
359         read instead of std::fread.
360         * include/std/random: Do not include <cstdio> unnecessarily.
362 2013-07-21  Tim Shen  <timshen91@gmail.com>
364         Partially implement regex_search.
365         * include/bits/regex.h: regex_search.
366         * include/bits/regex_grep_matcher.h: _M_search_from_first.
367         * include/bits/regex_grep_matcher.tcc: Implement it.
368         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
370 2013-07-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
372         PR libstdc++/54352
373         * include/std/condition_variable (condition_variable_any): Move into
374         inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
375         * src/c++11/condition_variable.cc (condition_variable_any): Move
376         definitions to ...
377         * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
378         * src/Makefile.am: Add new source file.
379         * src/Makefile.in: Regenerate.
381 2013-07-09  Tim Shen  <timshen91@gmail.com>
383         Implement class regex_traits.
384         * include/bits/regex.h: Implement lookup_classname and
385         lookup_collatename; modify isctype; partially implement
386         transform_primary.
387         * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
388         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
389         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
390         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
391         * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
392         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
393         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
394         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
396 2013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
398         * doc/xml/manual/status_cxx2014.xml: Add links for papers.
400 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
402         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
403         pattern.
404         (_MoveReuseOrAllocNode): Remove.
405         (_Insert_base): Take a functor defining how the node is generated.
406         * include/bits/hashtable.h: Adapt.
407         (operator=(initializer_list<value_type>)): Reuse node if any.
408         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
409         Adjust dg-error line number.
410         * testsuite/23_containers/unordered_set/
411         not_default_constructible_hash_neg.cc: Likewise.
413 2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
415         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
416         Tweak, avoid potential undefined behavior.
417         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
418         Likewise.
419         * testsuite/23_containers/vector/bool/modifiers/insert/
420         const_iterator.cc: Likewise.
421         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
422         Likewise.
424 2013-07-04  Veres Lajos  <vlajos@gmail.com>
425             Jonathan Wakely  <jwakely.gcc@gmail.com>
427         * config/locale/generic/codecvt_members.cc: Fix typo.
428         * configure.host: Likewise.
429         * doc/html/manual/policy_data_structures_design.html: Likewise.
430         * doc/xml/manual/policy_data_structures.xml: Likewise.
431         * include/bits/hashtable.h: Likewise.
432         * include/bits/random.h: Likewise.
433         * include/profile/impl/profiler_trace.h: Likewise.
434         * testsuite/23_containers/deque/cons/2.cc: Likewise.
435         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
436         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
437         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
439 2013-07-04  Ray Chason  <chasonr@newsguy.com>
440             Paolo Carlini  <paolo.carlini@oracle.com>
442         PR libstdc++/57808
443         * include/bits/regex.h (regex_token_iterator<>::operator==,
444         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
445         regex_token_iterator<>::operator->): Declare const.
447 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
449         * include/bits/stl_list.h (list<>::insert(iterator,
450         size_type, const value_type&), list<>::insert(iterator,
451         initializer_list<>), list<>::insert(iterator, _InputIterator,
452         _InputIterator), list<>::splice(iterator, list&&),
453         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
454         iterator), list<>::splice(iterator, list&, iterator),
455         list<>::splice(iterator, list&&, iterator, iterator),
456         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
457         signatures to take const_iterator(s).
458         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
459         const value_type&), list<>::insert(const_iterator, _InputIterator,
460         _InputIterator)): Define.
461         * include/ext/vstring.h (__versa_string<>::insert(iterator,
462         size_type, _CharT), __versa_string<>::insert(iterator,
463         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
464         std::initializer_list<>), __versa_string<>::replace(iterator,
465         iterator, _InputIterator, _InputIterator), __versa_string<>::
466         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
467         signatures to take const_iterator(s).
468         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
469         * include/ext/vstring.tcc: Likewise.
470         * include/debug/list: Adjust.
471         * include/profile/list: Likewise.
472         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
473         New.
474         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
475         Extend.
476         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
477         Likewise.
478         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
479         Likewise.
480         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
481         Likewise.
482         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
483         Likewise.
485         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
486         Adjust dg-error line number.
487         * testsuite/23_containers/list/requirements/dr438/
488         constructor_1_neg.cc: Likewise.
489         * testsuite/23_containers/list/requirements/dr438/
490         constructor_2_neg.cc: Likewise.
491         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
492         Likewise.
494 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
496         * include/bits/stl_deque.h (deque<>::insert(iterator,
497         size_type, const value_type&), deque<>::insert(iterator,
498         initializer_list<>), deque<>::insert(iterator, _InputIterator,
499         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
500         * include/bits/stl_vector.h: Likewise.
501         * include/bits/stl_bvector.h: Likewise.
502         * include/debug/deque: Adjust.
503         * include/debug/vector: Likewise.
504         * include/profile/deque: Likewise.
505         * include/profile/vector: Likewise.
506         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
507         Extend.
508         * testsuite/23_containers/vector/bool/modifiers/insert/
509         const_iterator.cc: Likewise.
510         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
511         Likewise.
513         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
514         Adjust dg-error line number.
515         * testsuite/23_containers/deque/requirements/dr438/
516         constructor_1_neg.cc: Likewise.
517         * testsuite/23_containers/deque/requirements/dr438/
518         constructor_2_neg.cc: Likewise.
519         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
520         Likewise.
521         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
522         Likewise.
523         * testsuite/23_containers/vector/requirements/dr438/
524         constructor_1_neg.cc: Likewise.
525         * testsuite/23_containers/vector/requirements/dr438/
526         constructor_2_neg.cc: Likewise.
527         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
528         Likewise.
530 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
532         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
533         insert methods.
534         * include/bits/hashtable.h: Likewise.
535         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
536         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
537         New.
538         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
539         Adjust dg-error line number.
540         * testsuite/23_containers/unordered_set/
541         not_default_constructible_hash_neg.cc: Likewise.
542         * doc/xml/manual/containers.xml: Document hinting in unordered
543         containers.
545 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
547         * testsuite/21_strings/basic_string/operations/*: Move inside
548         testsuite/21_strings/basic_string/operations/data/.
549         * testsuite/21_strings/basic_string/compare/*: Move inside
550         testsuite/21_strings/basic_string/operations/.
551         * testsuite/21_strings/basic_string/find/*: Likewise.
552         * testsuite/21_strings/basic_string/rfind/*: Likewise.
553         * testsuite/21_strings/basic_string/substr/*: Likewise.
555 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
557         * testsuite/21_strings/basic_string/append/*: Move inside
558         testsuite/21_strings/basic_string/modifiers/.
559         * testsuite/21_strings/basic_string/assign/*: Likewise.
560         * testsuite/21_strings/basic_string/insert/*: Likewise.
561         * testsuite/21_strings/basic_string/replace/*: Likewise.
562         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
563         pop_back.cc: Rename to 1.cc.
564         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
565         pop_back.cc: Likewise.
566         * testsuite/ext/vstring/assign/*: Move inside
567         testsuite/ext/vstring/modifiers/.
569 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
571         * include/bits/stl_deque.h (deque<>::insert(iterator,
572         const value_type&), deque<>::insert(iterator, value_type&&),
573         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
574         take a const_iterator.
575         (deque<>::erase): Simplify.
576         * include/bits/stl_list.h: Likewise.
577         (_List_iterator<>::_M_const_cast): Add.
578         * include/bits/stl_vector.h: Likewise.
579         * include/bits/stl_bvector.h: Likewise.
580         (_Bit_iterator::_M_const_cast): Add.
581         * include/bits/deque.tcc: Adjust definitions.
582         * include/bits/list.tcc: Likewise.
583         * include/bits/vector.tcc: Likewise.
584         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
585         Define trivial version in C++98 mode.
586         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
587         __versa_string<>::replace(iterator, iterator, const __versa_string&),
588         __versa_string<>::replace(iterator, iterator, const _CharT*,
589         size_type), __versa_string<>::replace(iterator, iterator,
590         const _CharT*), __versa_string<>::replace(iterator, iterator,
591         size_type, _CharT)): Adjust C++11 signatures to take a pair of
592         const_iterators.
593         * include/debug/deque: Adjust.
594         * include/debug/list: Likewise.
595         * include/debug/vector: Likewise.
596         * include/profile/deque: Likewise.
597         * include/profile/list: Likewise.
598         * include/profile/vector: Likewise.
599         (vector<>::emplace): Add.
600         * testsuite/util/exception/safety.h: Update.
601         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
602         New.
603         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
604         Likewise.
605         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
606         Likewise.
607         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
608         Likewise.
609         * testsuite/23_containers/vector/bool/modifiers/insert/
610         const_iterator.cc: Likewise.
611         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
612         Likewise.
613         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
614         Likewise.
615         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
616         Likewise.
617         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
618         Likewise.
619         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
620         Likewise.
621         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
622         Likewise.
624         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
625         ext/vstring/modifiers/erase/char/.
626         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
627         ext/vstring/modifiers/wchar_t/.
628         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
629         ext/vstring/modifiers/pop_back/char/.
630         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
631         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
633         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
634         Adjust dg-error line number.
635         * testsuite/23_containers/deque/requirements/dr438/
636         constructor_1_neg.cc: Likewise.
637         * testsuite/23_containers/deque/requirements/dr438/
638         constructor_2_neg.cc: Likewise.
639         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
640         Likewise.
641         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
642         Likewise.
643         * testsuite/23_containers/list/requirements/dr438/
644         constructor_1_neg.cc: Likewise.
645         * testsuite/23_containers/list/requirements/dr438/
646         constructor_2_neg.cc: Likewise.
647         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
648         Likewise.
649         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
650         Likewise.
651         * testsuite/23_containers/vector/requirements/dr438/
652         constructor_1_neg.cc: Likewise.
653         * testsuite/23_containers/vector/requirements/dr438/
654         constructor_2_neg.cc: Likewise.
655         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
656         Likewise.
658 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
660         Status page for C++2014 library features
661         * doc/xml/faq.xml: Add link to new C++14 status page.
662         * doc/xml/manual/intro.xml: Ditto.
663         * doc/xml/manual/status_cxx2014.xml: New.
665 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
667         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
668         spurious fails with check-debug.
669         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
670         Likewise.
671         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
672         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
673         Likewise.
675 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
677         PR libstdc++/57704
678         * include/bits/char_traits.h (char_traits<char>::lt): Implement
679         LWG 467.
680         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
682 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
684         PR libstdc++/57691
685         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
686         declare per the letter of the C++ standard in terms of void.
687         * include/c_std/cstdlib: Likewise.
689 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
691         PR libstdc++/57674
692         * include/bits/random.h (binomial_distribution<>::_M_waiting):
693         Add double parameter.
694         * include/bits/random.tcc (binomial_distribution<>::operator()
695         (_UniformRandomNumberGenerator&, const param_type&)): Pass
696         __param._M_q to _M_waiting.
697         (_M_waiting): Adjust.
698         * testsuite/26_numerics/random/binomial_distribution/
699         operators/values.cc: Add tests.
701 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
703         PR libstdc++/57666
704         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
705         Implement correctly C++11 26.6.2.3/1.
706         * testsuite/26_numerics/valarray/dr630-3.C: New.
708 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
710         PR libstdc++/57641
711         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
712         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
713         to handle conversion between different clocks. Replace constrained
714         __try_lock_for_impl overloads with conditional increment.
715         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
716         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
718 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
719             Chris Jefferson  <chris@bubblescope.net>
721         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
722         dispatch to traditional std::equal for random-access iterators.
723         (__equal2_aux, __equal2): Remove.
724         (__equal::equal): Remove unused overloads.
725         * include/bits/stl_algo.h (is_permutation): Fix typos.
727 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
729         * include/std/shared_mutex (shared_lock::operator=): Add missing
730         return statement.
732 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
734         PR libstdc++/57263
735         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
736         allocator's pointer type.
737         * include/bits/hashtable.h (_Hashtable): Likewise.
738         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
739         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
740         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
741         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
743 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
745         * include/std/shared_mutex: Implement N3659.
746         * include/bits/c++14_warning.h: New.
747         * include/Makefile.am: Add new headers.
748         * include/Makefile.in: Regenerate.
749         * testsuite/30_threads/shared_lock/cons/1.cc: New.
750         * testsuite/30_threads/shared_lock/locking/2.cc: New.
751         * testsuite/30_threads/shared_lock/cons/2.cc: New.
752         * testsuite/30_threads/shared_lock/locking/3.cc: New.
753         * testsuite/30_threads/shared_lock/cons/3.cc: New.
754         * testsuite/30_threads/shared_lock/locking/4.cc: New.
755         * testsuite/30_threads/shared_lock/cons/4.cc: New.
756         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
757         * testsuite/30_threads/shared_lock/cons/5.cc: New.
758         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
759         * testsuite/30_threads/shared_lock/cons/6.cc: New.
760         * testsuite/30_threads/shared_lock/requirements/
761         explicit_instantiation.cc: New.
762         * testsuite/30_threads/shared_lock/locking/1.cc: New.
763         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
764         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
765         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
766         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
767         * testsuite/30_threads/shared_mutex/requirements/
768         standard_layout.cc: New.
769         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
770         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
772 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
774         PR libstdc++/57619
775         * include/bits/unordered_map.h (unordered_map<>::insert,
776         unordered_multimap<>::insert): Use std::forward, not std::move.
777         * testsuite/23_containers/unordered_map/insert/57619.C: New.
778         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
780 2013-06-14  Alan Modra  <amodra@gmail.com>
782         * configure.host (abi_baseline_pair): Match powerpc64*.
784 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
786         * include/std/type_traits (is_function): Support ref-qualified
787         functions.
788         (is_copy_constructible, is_move_constructible, is_copy_assignable,
789         is_move_assignable, is_nothrow_copy_constructible,
790         is_nothrow_move_constructible, is_nothrow_copy_assignable,
791         is_nothrow_move_assignable): Implement LWG 2196.
792         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
793         LWG 2101.
794         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
795         unused.
796         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
797         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
798         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
799         * testsuite/20_util/is_assignable/value.cc: Likewise.
800         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
801         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
802         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
803         * testsuite/20_util/is_function/value.cc: Likewise.
804         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
805         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
806         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
807         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
808         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
809         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
811         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
812         line number.
813         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
814         Likewise.
815         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
816         Likewise.
818 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
820         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
821         __gnu_cxx::__airy_bi()): Remove.
822         * testsuite/tr1/5_numerical_facilities/special_functions/
823         10_cyl_bessel_k/airy.cc: Fix.
825 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
827         PR libstdc++/56430
828         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
829         from void function.
830         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
831         * testsuite/tr1/5_numerical_facilities/special_functions/
832         10_cyl_bessel_k/airy.cc: New.
834 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
836         Fix library literals error involving namespace __detail.
837         * include/std/chrono: Rename __detail to __select_type. Reformat.
838         * include/bits/basic_string.h: Reformat.
839         * testsuite/20_util/duration/literals/ns_detail.cc: New.
841 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
843         PR libstdc++/56019
844         * include/c_global/cstddef (max_align_t): Add to namespace std.
845         * include/c_std/cstddef: Likewise.
846         * testsuite/18_support/max_align_t/requirements/1.cc: New.
847         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
849 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
851         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
852         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
853         * include/bits/stl_multimap.h: Same.
854         * include/bits/stl_multiset.h: Same.
855         * include/bits/stl_set.h: Same.
856         * include/bits/stl_tree.h: Same.
857         * include/std/complex (real, imag): Use macro for abi_tag.
859         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
860         * testsuite/util/testsuite_containers.h (erase_external): New
861         declarations.
862         (erase_external_iterators): Same.
863         (linkage_check_cxx98_cxx11_erase): Same.
864         (linkage_check_cxx98_cxx11_erase_iterators): Same.
865         * testsuite/util/testsuite_shared.cc: Define.
866         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
867         * testsuite/23_containers/map/modifiers/erase/
868         dr130-linkage-check.cc: New.
869         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
870         * testsuite/23_containers/multimap/modifiers/erase/
871         dr130-linkage-check.cc: New.
872         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
873         * testsuite/23_containers/multiset/modifiers/erase/
874         dr130-linkage-check.cc: New.
875         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
876         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
877         New.
878         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
880         * testsuite/23_containers/map/dr130.cc: Move...
881         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
882         * testsuite/23_containers/multimap/dr130.cc: Move ...
883         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
884         * testsuite/23_containers/multiset/dr130.cc: Move...
885         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
886         * testsuite/23_containers/set/dr130.cc: Move...
887         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
889 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
891         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
892         handling of Linux-based x86 systems to cover all GNU systems.
893         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
894         * testsuite/18_support/pthread_guard.cc: Likewise.
895         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
896         Likewise.
897         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
898         Likewise.
899         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
900         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
901         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
902         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
903         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
904         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
905         * testsuite/23_containers/list/pthread1.cc: Likewise.
906         * testsuite/23_containers/list/pthread5.cc: Likewise.
907         * testsuite/23_containers/map/pthread6.cc: Likewise.
908         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
909         Likewise.
910         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
911         Likewise.
912         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
913         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
914         * testsuite/30_threads/async/42819.cc: Likewise.
915         * testsuite/30_threads/async/49668.cc: Likewise.
916         * testsuite/30_threads/async/54297.cc: Likewise.
917         * testsuite/30_threads/async/any.cc: Likewise.
918         * testsuite/30_threads/async/async.cc: Likewise.
919         * testsuite/30_threads/async/launch.cc: Likewise.
920         * testsuite/30_threads/async/sync.cc: Likewise.
921         * testsuite/30_threads/call_once/39909.cc: Likewise.
922         * testsuite/30_threads/call_once/49668.cc: Likewise.
923         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
924         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
925         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
926         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
927         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
928         * testsuite/30_threads/condition_variable/members/53841.cc:
929         Likewise.
930         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
931         Likewise.
932         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
933         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
934         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
935         * testsuite/30_threads/condition_variable_any/members/1.cc:
936         Likewise.
937         * testsuite/30_threads/condition_variable_any/members/2.cc:
938         Likewise.
939         * testsuite/30_threads/future/cons/move.cc: Likewise.
940         * testsuite/30_threads/future/members/45133.cc: Likewise.
941         * testsuite/30_threads/future/members/get.cc: Likewise.
942         * testsuite/30_threads/future/members/get2.cc: Likewise.
943         * testsuite/30_threads/future/members/share.cc: Likewise.
944         * testsuite/30_threads/future/members/valid.cc: Likewise.
945         * testsuite/30_threads/future/members/wait.cc: Likewise.
946         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
947         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
948         * testsuite/30_threads/lock/1.cc: Likewise.
949         * testsuite/30_threads/lock/2.cc: Likewise.
950         * testsuite/30_threads/lock/3.cc: Likewise.
951         * testsuite/30_threads/lock/4.cc: Likewise.
952         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
953         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
954         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
955         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
956         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
957         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
958         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
959         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
960         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
961         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
962         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
963         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
964         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
965         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
966         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
967         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
968         Likewise.
969         * testsuite/30_threads/packaged_task/members/get_future.cc:
970         Likewise.
971         * testsuite/30_threads/packaged_task/members/get_future2.cc:
972         Likewise.
973         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
974         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
975         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
976         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
977         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
978         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
979         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
980         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
981         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
982         * testsuite/30_threads/promise/cons/1.cc: Likewise.
983         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
984         * testsuite/30_threads/promise/cons/move.cc: Likewise.
985         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
986         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
987         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
988         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
989         * testsuite/30_threads/promise/members/set_exception2.cc:
990         Likewise.
991         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
992         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
993         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
994         * testsuite/30_threads/promise/members/swap.cc: Likewise.
995         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
996         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
997         Likewise.
998         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
999         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
1000         Likewise.
1001         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1002         Likewise.
1003         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1004         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1005         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1006         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1007         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1008         Likewise.
1009         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1010         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1011         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1012         Likewise.
1013         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1014         Likewise.
1015         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
1016         Likewise.
1017         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
1018         Likewise.
1019         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1020         Likewise.
1021         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1022         Likewise.
1023         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1024         Likewise.
1025         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1026         Likewise.
1027         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1028         Likewise.
1029         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
1030         Likewise.
1031         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1032         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1033         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
1034         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1035         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1036         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
1037         * testsuite/30_threads/shared_future/members/wait_for.cc:
1038         Likewise.
1039         * testsuite/30_threads/shared_future/members/wait_until.cc:
1040         Likewise.
1041         * testsuite/30_threads/this_thread/1.cc: Likewise.
1042         * testsuite/30_threads/this_thread/2.cc: Likewise.
1043         * testsuite/30_threads/this_thread/3.cc: Likewise.
1044         * testsuite/30_threads/this_thread/4.cc: Likewise.
1045         * testsuite/30_threads/thread/cons/1.cc: Likewise.
1046         * testsuite/30_threads/thread/cons/2.cc: Likewise.
1047         * testsuite/30_threads/thread/cons/3.cc: Likewise.
1048         * testsuite/30_threads/thread/cons/4.cc: Likewise.
1049         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
1050         * testsuite/30_threads/thread/cons/5.cc: Likewise.
1051         * testsuite/30_threads/thread/cons/6.cc: Likewise.
1052         * testsuite/30_threads/thread/cons/7.cc: Likewise.
1053         * testsuite/30_threads/thread/cons/8.cc: Likewise.
1054         * testsuite/30_threads/thread/cons/9.cc: Likewise.
1055         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
1056         * testsuite/30_threads/thread/members/1.cc: Likewise.
1057         * testsuite/30_threads/thread/members/2.cc: Likewise.
1058         * testsuite/30_threads/thread/members/3.cc: Likewise.
1059         * testsuite/30_threads/thread/members/4.cc: Likewise.
1060         * testsuite/30_threads/thread/members/5.cc: Likewise.
1061         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
1062         Likewise.
1063         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1064         * testsuite/30_threads/thread/native_handle/typesizes.cc:
1065         Likewise.
1066         * testsuite/30_threads/thread/swap/1.cc: Likewise.
1067         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1068         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
1069         Likewise.
1070         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1071         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1072         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
1073         Likewise.
1074         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1075         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1076         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1077         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1078         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1079         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1080         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1081         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1082         * testsuite/30_threads/try_lock/1.cc: Likewise.
1083         * testsuite/30_threads/try_lock/2.cc: Likewise.
1084         * testsuite/30_threads/try_lock/3.cc: Likewise.
1085         * testsuite/30_threads/try_lock/4.cc: Likewise.
1086         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1087         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1088         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1089         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1090         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1091         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1092         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1093         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1094         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1095         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1096         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1097         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1098         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
1099         * testsuite/ext/profile/mh.cc: Likewise.
1100         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1101         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
1102         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
1103         Likewise.
1104         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1105         Likewise.
1106         * testsuite/util/testsuite_performance.h: Extend current handling
1107         of Linux-based systems to cover all glibc-based systems.
1109 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1111         * include/std/mutex (call_once): Remove parentheses to fix error in
1112         c++1y and gnu++1y mode.
1113         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
1114         thread to avoid undefined behaviour.
1116 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
1118         Simplify and clean up library literals.
1119         * include/std/chrono: Simplify namespace and versioning management.
1120         * include/bits/basic_string.h: Ditto.
1121         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
1122         * testsuite/20_util/duration/literals/values.cc: Ditto.
1123         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
1124         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
1126 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
1128         Implement N3654 - Quoted Strings Library Proposal
1129         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
1130         manipulators and supporting machinery in c++1y mode.
1131         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
1132         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
1134 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1136         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
1137         2162: Add noexcept.
1139 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1141         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
1142         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
1143         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
1144         * testsuite/25_algorithms/equal/2.cc: New.
1145         * testsuite/25_algorithms/equal/check_type2.cc: New.
1146         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
1147         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
1148         * testsuite/25_algorithms/mismatch/2.cc: New.
1149         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
1150         * testsuite/util/testsuite_iterators.h: Fix spelling.
1152 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1154         * include/std/type-traits (integral_constant::operator()): Implement
1155         N3545.
1156         * testsuite/20_util/integral_constant/call_operator.cc: New.
1157         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1158         line numbers.
1159         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1160         Likewise.
1161         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1162         Likewise.
1164 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
1166         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1168 2013-06-05  Tom Tromey  <tromey@redhat.com>
1170         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
1172 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
1174         PR c++/57419
1175         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
1177 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
1179         * include/std/chrono: Collapse redundant 'inline' from 'inline
1180         constexpr'.
1181         * include/std/tuple: Ditto.
1182         * include/bits/move.h: Ditto.
1184 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
1186         Implement N3642 - User-defined Literals for Standard Library Types
1187         * include/bits/parse_numbers.h: New.
1188         * include/std/chrono: Add duration literal operators.
1189         * include/bits/basic_string.h: Add string literal operators.
1190         * include/Makefile.in: Add parse_numbers.h.
1191         * include/Makefile.am: Ditto.
1192         * testsuite/20_util/duration/literals/values.cc: New.
1193         * testsuite/20_util/duration/literals/types.cc: New.
1194         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
1195         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
1196         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
1197         * testsuite/21_strings/basic_string/literals/values.cc: New.
1198         * testsuite/21_strings/basic_string/literals/types.cc: New.
1200 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1202         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
1203         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
1204         calling non-existent from_time_t.
1206 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1208         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1209         Regenerate.
1211 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
1213         * include/std/chrono: Wrap clocks in inline namespace _V2.
1214         * src/c++11/chrono.cc: Same.
1215         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
1216         file, with default configure macros selected.
1218         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
1219         namespace.
1220         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
1222         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1223         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1224         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1225         Regenerated.
1226         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1227         Regenerated.
1228         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1229         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1230         Regenerated.
1231         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1232         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1233         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1234         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1235         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1236         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1237         Regenerated.
1238         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1239         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1241 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1243         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
1244         (CLOCK_MONOTONIC): Define.
1246 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
1248         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
1249         overload.
1251         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
1253 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
1255         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
1256         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
1257         don't define system_clock::is_steady, system_clock::now() and
1258         steady_clock::is_steady.
1259         (std::chrono::system_clock::now()): If
1260         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
1261         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
1262         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
1263         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
1264         be non-empty.
1265         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
1266         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
1267         * src/c++11/compatibility-chrono.cc: New file.
1268         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
1269         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
1270         * testsuite/util/testsuite_abi.cc (check_version): Add
1271         GLIBCXX_3.4.20 version and make it the latest.
1272         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
1273         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
1274         @@GLIBCXX_3.4.20 instead.
1275         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1276         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1277         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1278         Regenerated.
1279         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1280         Regenerated.
1281         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1282         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1283         Regenerated.
1284         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1285         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1286         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1287         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1288         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1289         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1290         Regenerated.
1291         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1292         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1293         * config.h.in: Regenerated.
1294         * src/Makefile.in: Regenerated.
1295         * configure: Regenerated.
1297 2013-05-23  Matthias Klose  <doko@ubuntu.com>
1299         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1300         (ext_headers): Remove ${ext_host_headers}.
1301         (stamp-${host_alias}): Create ${host_builddir}/../ext.
1302         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1303         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1304         * include/Makefile.in: Regenerate.
1305         * include/ext/random: Include ext/opt_random.h.
1307 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1309         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
1310         enable features if target OS is known to support them.
1311         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
1312         * configure: Regenerate.
1314 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
1316         PR libstdc++/57336
1317         * include/std/functional (__invoke): Do not form function types with
1318         abstract return type.
1319         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
1321 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1323         * include/std/tuple (get): Implement N3670.
1324         * include/std/utility (get): Likewise.
1325         * testsuite/20_util/pair/get.cc: Move to ...
1326         * testsuite/20_util/pair/astuple/get.cc: Here.
1327         * testsuite/20_util/pair/astuple/astuple.cc: New.
1328         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
1329         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
1330         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
1331         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
1332         * testsuite/20_util/pair/astuple/get_neg.cc: New.
1333         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
1334         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
1335         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
1337 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
1339         * Revert last commit.
1341 2013-05-19  Matthias Klose  <doko@ubuntu.com>
1343         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1344         (ext_headers): Remove ${ext_host_headers}.
1345         (stamp-${host_alias}): Create ${host_builddir}/../ext.
1346         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1347         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1348         * include/Makefile.in: Regenerate.
1350 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1352         * include/std/system_error (error_category::error_category()): LWG
1353         2145: Declare public and constexpr.
1354         * src/c++11/system_error.cc (error_category::error_category()): Move
1355         definition to ...
1356         * src/c++11/compatibility-c++0x.cc: Here.
1358 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1360         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
1362 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1364         * include/bits/unique_ptr.h (make_unique): Declare inline.
1365         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
1366         (default_delete, unique_ptr): Add doxygen comments.
1367         * include/bits/shared_ptr_base.h: Improve doxygen comments.
1368         * include/bits/shared_ptr.h: Likewise.
1369         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
1370         number.
1371         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
1373 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1375         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1377 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1379         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1381 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1383         * include/std/utility (exchange): Define.
1384         * testsuite/20_util/exchange/1.cc: New.
1386 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1388         * include/bits/unique_ptr.h (make_unique): Define.
1389         * testsuite/20_util/unique_ptr/creation/single.cc: New.
1390         * testsuite/20_util/unique_ptr/creation/array.cc: New.
1391         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
1393 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
1395         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
1396         rendering of std::tr1 unordered containers iterator.
1397         (StdHashtableIterator): New, render std unordered containers iterator.
1398         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
1400 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1402         * include/bits/basic_string.h (getline): Fix doxygen comments.
1404 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
1406         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1407         Use std::pointer_traits.
1409 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1411         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
1412         bad_array_new.cc.
1413         * libsupc++/Makefile.in: Regenerate.
1414         * libsupc++/bad_array_length.cc: Tweak.
1415         * libsupc++/bad_array_new.cc: Tweak.
1417 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1419         PR libstdc++/54577
1420         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
1421         (_Deque_iterator<>::_M_const_cast): Add.
1422         (deque<>::_M_erase): Declare.
1423         * include/bits/deque.tcc: ... and define.
1424         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
1425         (_List_const_iterator<>::_M_const_cast): Add.
1426         * include/bits/list.tcc (erase (iterator)): Fix.
1427         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1428         Add; include <ext/cast.h>.
1429         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
1430         (vector<>::_M_erase): Declare.
1431         * include/bits/stl_bvector.h: Likewise.
1432         * include/bits/vector.tcc (vector<>::_M_erase): Define.
1433         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
1434         * include/debug/deque: Adjust.
1435         * include/debug/list: Likewise.
1436         * include/debug/vector: Likewise.
1437         * include/profile/deque: Likewise.
1438         * include/profile/list: Likewise.
1439         * include/profile/vector: Likewise.
1440         * testsuite/util/exception/safety.h (erase_base<deque>,
1441         erase_base<deque>, erase_base<vector>): Remove.
1442         (erase_base<__versa_string>): Update.
1443         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
1444         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
1445         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
1446         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
1447         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
1448         Likewise.
1449         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
1450         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1451         Adjust dg-error line numbers.
1452         * testsuite/23_containers/deque/requirements/dr438/
1453         constructor_1_neg.cc: Likewise.
1454         * testsuite/23_containers/deque/requirements/dr438/
1455         constructor_2_neg.cc: Likewise.
1456         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1457         Likewise.
1458         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1459         Likewise.
1460         * testsuite/23_containers/list/requirements/dr438/
1461         constructor_1_neg.cc: Likewise.
1462         * testsuite/23_containers/list/requirements/dr438/
1463         constructor_2_neg.cc: Likewise.
1464         * testsuite/23_containers/list/requirements/dr438/
1465         insert_neg.cc: Likewise.
1466         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1467         Likewise.
1468         * testsuite/23_containers/vector/requirements/dr438/
1469         constructor_1_neg.cc: Likewise.
1470         * testsuite/23_containers/vector/requirements/dr438/
1471         constructor_2_neg.cc: Likewise.
1472         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1473         Likewise.
1475 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
1477         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
1479 2013-05-08  Jason Merrill  <jason@redhat.com>
1481         Add std::bad_array_length (N3639)
1482         * libsupc++/new: Add std::bad_array_length.
1483         * libsupc++/bad_array_length.cc: New.
1484         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
1485         * libsupc++/Makefile.in: Build them.
1486         * config/abi/pre/gnu.ver: Add new symbols.
1487         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1489 2013-05-08  Andi Kleen  <ak@linux.intel.com>
1491         PR target/55947
1492         * libstdc++-v3/include/bits/atomic_base.h
1493         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
1494         (atomic_thread_fence, atomic_signal_fence, test_and_set,
1495         clear, store, load, exchange, compare_exchange_weak)
1496         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
1497         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
1499 2013-05-08  Jason Merrill  <jason@redhat.com>
1501         Add std::bad_array_new_length (N2932)
1502         * libsupc++/new: Add std::bad_array_new_length.
1503         * libsupc++/bad_array_new.cc: New.
1504         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
1505         * libsupc++/Makefile.in: Build them.
1506         * config/abi/pre/gnu.ver: Add new symbols.
1507         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1509 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
1511         PR libstdc++/57212
1512         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
1513         to __MINGW32__.
1514         * include/Makefile.in: Regenerated.
1516 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
1518         * include/profile/unordered_base.h: New.
1519         * include/Makefile.am: Add new profile header.
1520         * include/Makefile.in: Regenerate.
1521         * include/profile/impl/profiler.h
1522         (__profcxx_inefficient_hash_is_on): New macro.
1523         * include/profile/unordered_map (std::profile::unordered_map<>):
1524         Use new _Unordered_profile base class. Use default implementations
1525         for special functions.
1526         (std::profile::unordered_multimap<>): Likewise.
1527         * include/profile/unordered_set (std::profile::unordered_set<>):
1528         Likewise.
1529         (std::profile::unordered_multiset<>): Likewise.
1530         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
1531         MoveOnly equality operator signature.
1533 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1535         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
1536         constexpr_data.cc: Move...
1537         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
1538         ... here.
1539         * testsuite/20_util/integral_constant/requirements/
1540         explicit_instantiation.cc: New.
1541         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
1542         Likewise.
1543         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
1544         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
1545         Likewise.
1546         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
1547         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
1549 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1551         * include/std/type_traits (is_null_pointer): Add.
1552         (__is_nullptr_t): Implement in terms of the latter.
1553         (is_fundamental, is_scalar): Adjust.
1554         * testsuite/20_util/is_null_pointer/requirements/
1555         explicit_instantiation.cc: New.
1556         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
1557         Likewise.
1558         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
1559         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1560         line number.
1561         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1562         Likewise.
1563         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1564         Likewise.
1566 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1568         * include/c_global/cstdio: Add comment about LWG 2249.
1569         * include/c_std/cstdio: Likewise.
1571 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1573         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
1574         comment.
1575         * include/std/mutex (__recursive_mutex_base): Likewise.
1577 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1579         PR libstdc++/51365
1580         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
1581         implement EBO safely.
1582         (_Sp_counted_base::_M_get_deleter): Add noexcept.
1583         (_Sp_counter_ptr): Use noexcept instead of comments.
1584         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
1585         (_Sp_counted_ptr_inplace): Likewise.
1586         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
1587         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
1588         custom allocator and test construction with custom allocator.
1589         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
1590         line number.
1592 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1594         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
1595         dialect to -std=gnu++11.
1597 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
1599         * include/bits/hashtable_policy.h
1600         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
1601         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
1603 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1605         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
1606         * include/c_std/cstdio (gets): Likewise.
1607         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
1609 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1611         PR libstdc++/57065
1612         * include/debug/unordered_map (unordered_map, unordered_multimap):
1613         Fix default allocator type.
1614         * include/profile/unordered_map (unordered_map, unordered_multimap):
1615         Likewise.
1616         * include/bits/unordered_map.h: Fix comments.
1618 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1620         PR libstdc++/56905
1621         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
1622         move implementation to make_exception_ptr.
1623         * include/std/future (_State_base::_M_break_promise): Replace
1624         copy_exception with make_exception_ptr.
1625         * testsuite/18_support/exception_ptr/move.cc: Likewise.
1626         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1627         * testsuite/30_threads/future/members/get2.cc: Likewise.
1628         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1629         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1630         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1631         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1633 2013-04-22  Jason Merrill  <jason@redhat.com>
1635         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
1637         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
1638         substitution" lines.
1640         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
1641         function-cv-quals.
1642         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1643         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
1644         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
1646 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
1648         * include/bits/hashtable_policy.h: Add C++11 allocator support.
1649         * include/bits/hashtable.h: Likewise.
1650         * include/bits/unordered_set.h: Likewise.
1651         * include/bits/unordered_map.h: Likewise.
1652         * include/debug/unordered_set: Likewise.
1653         * include/debug/unordered_map: Likewise.
1654         * include/std/unordered_set: Remove bits/algobase.h
1655         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
1656         * include/std/unordered_map: Likewise.
1657         * include/ext/throw_allocator.h: Add checks on calls to allocator
1658         construct/destroy.
1659         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
1660         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
1661         * testsuite/util/regression/rand/priority_queue
1662         /container_rand_regression_test.tcc: Adapt.
1663         * testsuite/util/regression/rand/assoc
1664         /container_rand_regression_test.tcc: Likewise.
1665         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
1666         * testsuite/23_containers/unordered_set
1667         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
1668         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
1669         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
1670         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
1671         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
1672         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
1673         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
1674         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
1675         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
1676         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
1677         New.
1678         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
1679         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1680         New.
1681         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
1682         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
1683         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
1684         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
1685         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
1686         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
1687         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
1688         New.
1689         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
1690         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
1691         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
1692         New.
1693         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
1694         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1695         New.
1696         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
1697         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
1699 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1701         * include/std/type_traits (is_signed): Simplify.
1702         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1703         Adjust dg-error line numbers.
1704         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1705         Likewise.
1706         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1708 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1710         N3669
1711         * include/std/complex (complex<float>::real, complex<float>::imag,
1712         complex<double>::real, complex<double>::imag,
1713         complex<long double>::real, complex<long double>::imag): Declare
1714         as const member functions.
1715         * include/std/type_traits (integral_constant<>::operator value_type):
1716         Likewise.
1718 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1720         PR libstdc++/57010
1721         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
1722         * testsuite/25_algorithms/pop_heap/57010.cc: New.
1724 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
1726         * src/c++11/system_error.cc (generic_category_instance): Add
1727         initializer.
1728         (system_category_instance): Likewise.
1729         * src/c++11/future.cc (__fec): Likewise.
1731 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1733         * doc/xml/manual/extensions.xml: Fix anachronism.
1735 2013-04-09  Tom Tromey  <tromey@redhat.com>
1737         * configure, config.h.in: Rebuild.
1738         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
1739         sys/sdt.h.
1740         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
1742 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
1744         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1746 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
1748         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
1750 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1752         * include/Makefile.am: Add ext/aligned_buffer.h
1753         * include/Makefile.in: Regenerate.
1754         * include/ext/aligned_buffer.h: New.
1755         * include/std/future (_Result): Use __aligned_buffer.
1756         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
1757         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
1758         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
1759         number.
1761 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1763         * include/bits/forward_list.h: Only include required headers.
1764         (forward_list::reference): Define directly, not using __alloc_traits.
1765         (forward_list::const_reference): Likewise.
1767 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
1769         * include/std/functional (_Derives_from_unary_function): Remove.
1770         (_Derives_from_binary_function): Remove.
1771         * include/std/type_traits (__sfinae_types): Remove.
1772         (__is_assignable_helper): Adapt.
1773         (__is_convertible_helper): Adapt.
1774         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
1775         Remove several explicit instantiations of integral_constant.
1776         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
1777         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1778         Adapt dg-error line number.
1779         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1780         Likewise.
1781         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1782         * testsuite/20_util/bind/ref_neg.cc: Likewise.
1784 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1786         PR libstdc++/56841
1787         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
1788         get_terminate() accessors.
1789         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1790         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
1791         available.
1792         * libsupc++/new_handler.cc: Likewise.
1794 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1796         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
1798 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1800         PR libstdc++/56834
1801         * include/debug/array (tuple_size, tuple_element): Do not declare.
1802         * include/profile/array: Likewise.
1803         * testsuite/23_containers/array/tuple_interface/
1804         tuple_element_debug_neg.cc: Adjust dg-error line number.
1806 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1808         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
1809         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
1810         Define.
1811         (set_terminate(terminate_handler)): Set atomically.
1812         (set_unexpected(terminate_handler)): Likewise.
1813         * libsupc++/new (get_new_handler()): Declare.
1814         * libsupc++/new_handler.cc (get_new_handler()): Define.
1815         (set_new_handler(new_handler)): Set atomically.
1816         (__new_handler): Use internal linkage.
1817         * libsupc++/new_op.cc (operator new): Use get_new_handler().
1818         * libsupc++/new_opnt.cc (operator new): Likewise.
1819         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
1820         * configure: Regenerate.
1821         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
1822         * libsupc++/Makefile.in: Regenerate.
1823         * config/abi/pre/gnu.ver: Add new exports.
1824         * doc/xml/manual/status_cxx2011.xml: Update.
1825         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
1826         for handlers.
1827         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
1828         * testsuite/18_support/new_handler.cc: New.
1829         * testsuite/18_support/terminate_handler.cc: New.
1830         * testsuite/18_support/unexpected_handler.cc: New.
1832 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1834         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
1835         defer to general documentation on contributing to GCC.
1836         * doc/html/*: Regenerate.
1838 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
1840         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
1842         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
1843         Coding Standards.
1845         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
1847         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
1849         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
1851         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
1853         * doc/xml/manual/policy_data_structures: Remove direct link to
1854         IBM Haifa Research Labs.
1856         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1857         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
1859         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
1860         papers.
1862         * doc/xml/manual/shared_ptr.xml: Use canonical address for
1863         www.boost.org.
1865 2013-03-27  Kai Tietz  <ktietz@redhat.com>
1867         * crossconfig.m4: Add support for cygwin x64 target.
1868         * configure: Regenerated.
1870 2013-03-25  Kai Tietz  <ktietz@redhat.com>
1872         * testsuite/18_support/50594.cc: For mingw-targets use only static
1873         libstdc++-version.
1874         * testsuite/19_diagnostics/error_category/operators/equal.cc
1875         * testsuite/19_diagnostics/error_code/cons/1.cc
1876         * testsuite/19_diagnostics/error_code/operators/bool.cc
1877         * testsuite/19_diagnostics/error_code/operators/equal.cc
1878         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
1879         * testsuite/19_diagnostics/error_condition/cons/1.cc
1880         * testsuite/19_diagnostics/error_condition/operators/bool.cc
1881         * testsuite/19_diagnostics/error_condition/operators/equal.cc
1882         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
1883         * testsuite/23_containers/set/requirements/exception/basic.cc
1884         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
1885         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
1887 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1889         PR libstdc++/56170
1890         * include/ext/debug_allocator.h (debug_allocator): Add missing members
1891         to meet allocator requirements.
1892         * testsuite/ext/debug_allocator/56170.cc: New.
1894 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
1896         PR libstdc++/56678
1897         * include/std/chrono (__is_ratio): Uglify T.
1899 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
1901         PR libstdc++/55977 (partial, std::vector and std::deque bits)
1902         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
1903         _InputIterator, std::input_iterator_tag)): Use emplace_back.
1904         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
1905         _InputIterator, std::input_iterator_tag)): Likewise.
1906         * testsuite/23_containers/vector/cons/55977.cc: New.
1907         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
1908         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1909         Adjust dg-error line number.
1910         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1911         Likewise.
1913 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
1915         PR libstdc++/55979
1916         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
1917         _InputIterator, __false_type)): Use emplace_back.
1918         * testsuite/23_containers/list/cons/55979.cc: New.
1919         * testsuite/23_containers/list/modifiers/1.h: Adjust.
1920         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1921         Adjust dg-error line number.
1923 2013-03-16  Jason Merrill  <jason@redhat.com>
1925         PR c++/55017
1926         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
1928 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1930         PR libstdc++/56468
1931         * libsupc++/exception_ptr.h (type_info): Declare.
1933 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1935         PR libstdc++/56002
1936         * include/std/mutex (lock_guard, unique_lock, lock): Define without
1937         depending on _GLIBCXX_HAS_GTHREADS.
1938         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
1940 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1942         PR libstdc++/56492
1943         * include/std/future (__future_base::_Result): Add result_type
1944         typedef.
1945         (__future_base::_S_allocate_result): Overload for std::allocator.
1946         (__future_base::_Task_setter): Use _Result::result_type instead of
1947         deducing the type from the task.
1948         (__future_base::_Task_state): Store allocator to allow shared state
1949         to be reset.  Replace std::function with member of target object type
1950         accessed via ...
1951         (__future_base::_Task_state_base): New abstract base class.
1952         (__future_base::_Task_state_base::_M_run): New virtual function to
1953         invoke type-erased target object.
1954         (__future_base::_Task_state_base::_M_reset): New virtual function to
1955         create new shared_state using same target object and allocator.
1956         (__future_base::__create_task_state): Allocate a new _Task_state.
1957         (packaged_task::packaged_task): Use __create_task_state.
1958         (packaged_task::reset): Use _Task_state_base::_M_reset.
1959         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
1961 2013-03-15  Tom Tromey  <tromey@redhat.com>
1963         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
1964         (PROBE2): New macro.
1965         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
1966         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
1967         * configure.ac: Check for sys/sdt.h.
1968         * configure, config.h.in: Rebuild.
1970 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1972         PR libstdc++/56613
1973         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
1974         allocator_traits instead of calling construct directly.
1975         * testsuite/23_containers/map/56613.cc: New.
1977 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
1979         * doc/html/*: Regenerate.
1981 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
1983         PR libstdc++/56609
1984         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
1985         * testsuite/20_util/is_fundamental/value.cc: Extend.
1986         * testsuite/20_util/is_compound/value.cc: Likewise.
1988 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
1990         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
1991         -Wunused warnings.
1993 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1995         * include/bits/memoryfwd.h: New. Centralize forward declarations.
1996         * include/bits/algorithmfwd.h: Consistent comments.
1997         * include/bits/localefwd.h: Same.
1998         * include/ext/vstring_fwd.h: Same.
1999         * include/parallel/algorithmfwd.h: Same.
2000         * include/parallel/numericfwd.h: Same.
2001         * include/std/iosfwd: Same.
2003         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
2004         forward decl.
2005         * include/ext/alloc_traits.h: Remove allocator forward decl.
2006         * include/bits/stl_construct.h: Same.
2007         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
2008         forward decl. Consistent comments.
2010         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
2012         * include/Makefile.am (bits_headers): Add memoryfwd.h.
2013         * include/Makefile.in: Regenerate.
2014         * configure: Same.
2016 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
2018         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
2019         Reset pointers after deallocation when memory can be reused.
2020         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
2021         elements to really challenge C++11 allocator integration.
2022         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
2023         * testsuite/23_containers/vector/allocator/copy_assign.cc:
2024         Likewise.
2025         * testsuite/23_containers/vector/allocator/move_assign.cc:
2026         Likewise.
2027         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
2028         swap vector back before checks on memory/personality mapping are
2029         performed.
2030         * testsuite/23_containers/forward_list/allocator/minimal.cc:
2031         Insert element to really challenge C++11 allocator integration.
2032         * testsuite/23_containers/forward_list/allocator/copy.cc:
2033         Likewise.
2034         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
2035         Likewise.
2036         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
2037         Likewise.
2038         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
2039         and swap forward_list back before checks on memory/personality
2040         mapping are performed.
2042 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
2044         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2045         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2046         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2047         Likewise.
2048         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2049         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2050         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2051         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2052         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2053         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2055 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2057         * scripts/extract_symvers.pl: Omit symbols bound to base
2058         versions.
2059         * scripts/extract_symvers.in: Likewise.
2060         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2061         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2062         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2063         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2064         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2066 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
2068         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
2069         Optimize generation function by pulling computation of __r into the
2070         constructor for param_type.  Also compare _M_mu in operator==.
2071         Fix comment.
2073 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
2075         Add triangular and von Mises distributions.
2076         * include/ext/random: Include <ext/cmath>.
2077         Add __gnu_cxx::triangular_distribution<> and
2078         __gnu_cxx::von_mises_distribution<> classes.
2079         * include/ext/random.tcc: Add out-of-line functions for
2080         __gnu_cxx::triangular_distribution<> and
2081         __gnu_cxx::von_mises_distribution<>.
2082         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
2083         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
2084         * testsuite/ext/triangular_distribution/operators/serialize.cc:
2085         New file.
2086         * testsuite/ext/triangular_distribution/operators/equal.cc:
2087         New file.
2088         * testsuite/ext/triangular_distribution/operators/inequal.cc:
2089         New file.
2090         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
2091         New file.
2092         * testsuite/ext/triangular_distribution/requirements/
2093         explicit_instantiation/1.cc: New file.
2094         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
2095         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
2096         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
2097         New file.
2098         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
2099         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
2100         New file.
2101         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
2102         New file.
2103         * testsuite/ext/von_mises_distribution/requirements/
2104         explicit_instantiation/1.cc: New file.
2106         Add math constants.
2107         * include/Makefile.am (ext_headers): Add cmath.
2108         * include/Makefile.in: Regenerated.
2109         * include/ext/cmath: New file.
2111 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2113         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2114         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2115         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2116         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2117         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2119 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2121         PR libstdc++/56012
2122         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
2123         * testsuite/29_atomics/atomic/operators/56012.cc: New.
2125         PR libstdc++/56011
2126         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
2127         missing overload.
2128         * testsuite/29_atomics/atomic/operators/56011.cc: New.
2130 2013-02-25  Jason Merrill  <jason@redhat.com>
2132         * configure.ac: Check for __cxa_thread_atexit_impl.
2133         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
2134         to it if available.
2135         * config.h.in, configure: Regenerate.
2137 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2139         * include/std/streambuf (basic_streambuf): Use injected class name
2140         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
2141         group.
2143 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2145         * doc/html/faq.html: Fix spelling.
2146         * doc/xml/faq.xml: Likewise.
2147         * include/bits/basic_ios.h: Likewise.
2148         * include/bits/regex.h: Likewise.
2149         * include/std/istream: Likewise.
2150         * include/std/streambuf: Likewise.
2152 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2154         * testsuite/23_containers/unordered_set/55043.cc: Add missing
2155         namespace qualification.
2156         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2158 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
2160         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
2161         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
2162         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
2163         * include/bits/stl_pair.h: Add to utilities group.
2164         * include/std/tuple: Same.
2165         * include/std/typeindex: Same.
2167         * include/bits/stringfwd.h: Fix markup.
2168         * include/std/limits: Same.
2169         * include/std/type_traits: Same.
2170         * include/tr1/memory: Same.
2171         * include/tr1/regex: Same.
2172         * scripts/run_doxygen: Comment.
2173         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
2175 2013-02-14  Jason Merrill  <jason@redhat.com>
2177         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
2178         test if unsupported.
2180 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
2182         PR libstdc++/56111
2183         * include/std/complex (complex): Undefine.
2184         * include/c_compatibility/complex.h (complex): Only undefine if
2185         <complex> has been included.
2186         * testsuite/26_numerics/complex/56111.cc: New testcase.
2188 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
2190         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
2191         default constructor protected.
2192         * include/bits/hashtable.h: static assert that _Hash_code_base has
2193         a default constructor available through inheritance.
2195 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
2197         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
2198         C++11 mode.
2200 2013-02-12  Julian Brown  <julian@codesourcery.com>
2202         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
2203         Don't expect dots after abbreviated weekday names for ru_RU for
2204         glibc versions >= 2.17.
2205         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
2206         Likewise.
2208 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
2210         * include/bits/random.tcc (__transform): Remove.
2211         (__normalize): Add.
2212         (discrete_distribution<>::param_type::_M_initialize): Adjust.
2213         (piecewise_constant_distribution<>::param_type::_M_initialize):
2214         Likewise.
2215         (piecewise_linear_distribution<>::param_type::_M_initialize):
2216         Likewise.
2218 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
2220         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
2221         Use -fimplicit-templates.
2222         * src/c++11/Makefile.in: Regenerate.
2223         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
2224         std::lower_bound template.
2226 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
2228         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
2229         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
2230         in C++11 mode and if available in the underlying C library.
2231         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
2232         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
2233         _GLIBCXX_HAVE_QUICK_EXIT.
2235 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
2237         * doc/html/*: Regenerate.
2239 2013-02-11  Jason Merrill  <jason@redhat.com>
2241         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
2242         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
2243         * config.h.in, configure: Regenerate.
2244         * include/c_std/cstdlib: Add atexit and at_quick_exit.
2245         * include/c_global/cstdlib: Add atexit and at_quick_exit.
2246         * testsuite/18_support/quick_exit/quick_exit.cc: New.
2248 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
2250         PR libstdc++/56282
2251         Revert:
2252         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
2254         PR libstdc++/56193
2255         * include/bits/basic_ios.h: Replace operator void*() const
2256         with explicit operator bool() const in C++11 and greater.
2257         * testsuite/27_io/basic_ios/pr56193.cc: New file.
2259 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
2260             Jonathan Wakely  <jwakely.gcc@gmail.com>
2262         * doc/xml/manual/containers.xml: Add section on unordered containers.
2263         * doc/xml/manual/using.xml: Fix incomplete sentence.
2265 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2267         PR libstdc++/56267
2268         * include/bits/hashtable.h (__cache_default): Check if hash function
2269         is copy assignable.
2270         * testsuite/23_containers/unordered_set/56267.cc: New.
2271         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2272         dg-error line number.
2273         * testsuite/23_containers/unordered_set/
2274         not_default_constructible_hash_neg.cc: Likewise.
2276         PR libstdc++/56278
2277         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
2278         constructor public.
2279         * testsuite/23_containers/unordered_set/56278.cc: New.
2281 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
2283         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
2284         simplification.
2286 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
2288         PR libstdc++/56216
2289         * include/tr1/special_function_util.h: Remove spurious const
2290         from numeric arguments.
2291         * include/tr1/riemann_zeta.tcc: Likewise.
2292         * include/tr1/exp_integral.tcc: Likewise.
2293         * include/tr1/bessel_function.tcc: Likewise.
2294         * include/tr1/hypergeometric.tcc: Likewise.
2295         * include/tr1/modified_bessel_func.tcc: Likewise.
2296         * include/tr1/poly_laguerre.tcc: Likewise.
2297         * include/tr1/gamma.tcc: Likewise.
2298         * include/tr1/legendre_function.tcc: Likewise.
2299         * include/tr1/poly_hermite.tcc: Likewise.
2300         * include/tr1/ell_integral.tcc: Likewise.
2301         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
2302         If argument is zero return function value.
2303         * testsuite/tr1/5_numerical_facilities/special_functions/
2304         08_cyl_bessel_i/pr56216.cc: New.
2306 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
2308         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
2310 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
2312         PR libstdc++/56193
2313         * include/bits/basic_ios.h: Replace operator void*() const
2314         with explicit operator bool() const in C++11 and greater.
2315         * testsuite/27_io/basic_ios/pr56193.cc: New file.
2317 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
2319         Add missing explicit instantiation for std::lower_bound template
2320         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
2321         missing instantiation for std::lower_bound template.
2323 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
2325         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
2326         * include/bits/basic_string.h: Specialize previous to mark
2327         std::hash for string types as slow.
2328         * include/bits/hashtable.h (__cache_default): Replace is_integral
2329         with __is_fast_hash.
2330         * src/c++11/hash_c++0x.cc: Add type_traits include.
2331         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2332         Adapt dg-error line number.
2333         * testsuite/23_containers/unordered_set/
2334         not_default_constructible_hash_neg.cc: Likewise.
2336 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2337             Paolo Carlini  <paolo.carlini@oracle.com>
2339         PR libstdc++/56202 (again)
2340         * include/bits/random.tcc (binomial_distribution<>::
2341         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
2342         in previous commit.
2344         * include/bits/random.h: Fix comment typo.
2346 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2347             Paolo Carlini  <paolo.carlini@oracle.com>
2349         PR libstdc++/56202
2350         * include/bits/random.tcc (binomial_distribution<>::
2351         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
2352         division by zero.
2354 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
2356         Update copyright years.
2357         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
2358         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
2359         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
2360         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
2361         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
2362         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
2363         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
2364         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
2365         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
2366         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
2367         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
2368         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
2369         testsuite/29_atomics/atomic/cons/assign_neg.cc,
2370         testsuite/29_atomics/atomic/cons/copy_neg.cc,
2371         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
2372         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
2373         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
2374         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
2375         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
2376         Update lines in dg error matches.
2378 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
2380         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
2382 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
2384         * include/bits/hashtable_policy.h
2385         (_Prime_rehash_policy::_M_next_bkt)
2386         (_Prime_rehash_policy::_M_need_rehash): Move definition...
2387         * src/c++11/hashtable_c++0x.cc: ... here.
2388         * src/shared/hashtable-aux.cc: Remove c++config.h include.
2389         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
2390         symbols.
2392 2013-01-29  Jason Merrill  <jason@redhat.com>
2394         PR libstdc++/54314
2395         * config/abi/pre/gnu.ver: Don't export construction vtables.
2396         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
2398 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2400         PR libstdc++/56112
2401         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
2402         to construct value_type explicitly before trying to extract the key.
2403         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
2405 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
2407         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
2408         _Hashtable_ebo_helper to embed functors into the local_iterator
2409         when necessary. Pass information about functors involved in hash
2410         code by copy.
2411         * include/bits/hashtable.h (__cache_default): Do not cache for
2412         builtin integral types unless the hash functor is not noexcept
2413         qualified or is not default constructible. Adapt static assertions
2414         and local iterator instantiations.
2415         * include/debug/unordered_set
2416         (std::__debug::unordered_set<>::erase): Detect local iterators to
2417         invalidate using contained node rather than generating a dummy
2418         local_iterator instance.
2419         (std::__debug::unordered_multiset<>::erase): Likewise.
2420         * include/debug/unordered_map
2421         (std::__debug::unordered_map<>::erase): Likewise.
2422         (std::__debug::unordered_multimap<>::erase): Likewise.
2423         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
2424         std::tr1 and std versions of unordered_set regardless of any
2425         macro. Add test on default cache behavior.
2426         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
2427         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2428         Adapt line number.
2429         * testsuite/23_containers/unordered_set/
2430         not_default_constructible_hash_neg.cc: New.
2431         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
2433 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
2435         PR libstdc++/56085
2436         * include/std/complex (pow(const complex<>&, int)): Avoid __n
2437         signed overflow.
2439 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
2441         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2442         Tightten scan-assembler-times regexps, add dg-additional-options for
2443         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
2444         dg-options.
2446 2013-01-12  Andi Kleen  <ak@linux.intel.com>
2447             Jonathan Wakely  <jwakely.gcc@gmail.com>
2449         PR libstdc++/55233
2450         * include/bits/atomic_base.h (__memory_order_modifier): Add
2451         __memory_order_mask, __memory_order_modifier_mask,
2452         __memory_order_hle_acquire, __memory_order_hle_release.
2453         (operator|,operator&): Add.
2454         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
2455         (__cmpexch_failure_order): Add.
2456         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
2457         Handle flags.
2458         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2459         Add.
2461 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
2463         PR libstdc++/55861
2464         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
2465         Fix return type.
2466         (__basic_future::_M_get_result()): Const qualify.
2467         (shared_future::get()): Likewise.
2468         * testsuite/30_threads/shared_future/members/get.cc: Use const
2469         objects.
2471 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2473         PR libstdc++/55043 (again)
2474         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
2475         unless construction would be well-formed.
2476         (__allow_copy_cons, __check_copy_constructible): Define.
2477         * include/bits/unordered_map.h (__check_copy_constructible): Use as
2478         base class so copy constructor will be deleted if appropriate.
2479         (is_copy_constructible): Remove specialization.
2480         * include/bits/unordered_set.h: Likewise.
2481         * include/debug/unordered_map.h: Undo previous commit. Default copy
2482         and move constructors.
2483         * include/debug/unordered_set.h: Likewise.
2484         * include/profile/unordered_map.h: Undo previous commit.
2485         * include/profile/unordered_set.h: Likewise.
2486         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
2487         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
2488         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2489         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
2490         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
2491         cannot support incomplete types.
2492         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
2493         Likewise.
2495 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2497         PR libstdc++/55043
2498         * include/std/unordered_map: Include alloc_traits.h
2499         * include/std/unordered_set: Likewise.
2500         * include/bits/alloc_traits.h: Define __is_copy_insertable.
2501         * include/bits/unordered_map.h: Use it.
2502         * include/bits/unordered_set.h: Likewise.
2503         * include/debug/unordered_map.h: Likewise.
2504         * include/debug/unordered_set.h: Likewise.
2505         * include/profile/unordered_map.h: Likewise.
2506         * include/profile/unordered_set.h: Likewise.
2507         * include/bits/hashtable.h: Fix comment typos.
2508         * testsuite/23_containers/unordered_map/55043.cc: New.
2509         * testsuite/23_containers/unordered_multimap/55043.cc: New.
2510         * testsuite/23_containers/unordered_multiset/55043.cc: New.
2511         * testsuite/23_containers/unordered_set/55043.cc: New.
2513 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
2515         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
2516         gdb command.
2518 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2520         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
2522 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2524         PR libstdc++/55908
2525         * include/std/functional (_Mem_fn::operator()): Fix constraints to
2526         avoid ambiguity.
2527         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
2528         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
2530 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2532         PR libstdc++/55594
2533         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
2534         Solaris targets.
2535         * configure: Regenerate.
2537 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2539         PR libstdc++/55847
2540         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
2541         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
2542         string.
2544         PR libstdc++/55728
2545         * include/std/functional (bad_function_call::what()): Declare.
2546         * src/c++11/functional.cc (bad_function_call::what()): Define.
2547         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
2548         * testsuite/20_util/bad_function_call/what.cc: New.
2550 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2552         * include/bits/unordered_map.h: Fix typo in comments.
2553         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
2554         counts for unordered associative containers.
2556 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2558         * doc/xml/manual/abi.xml: Update library and symbol versions.
2560 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2562         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
2563         in copyright years.
2564         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2567 Copyright (C) 2013 Free Software Foundation, Inc.
2569 Copying and distribution of this file, with or without modification,
2570 are permitted in any medium without royalty provided the copyright
2571 notice and this notice are preserved.