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