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