2013-07-05 François Dumont <fdumont@gcc.gnu.org>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob08cfe7ad4e34a1c875739c1bf17121ef73db78ba
1 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
3         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
4         pattern.
5         (_MoveReuseOrAllocNode): Remove.
6         (_Insert_base): Take a functor defining how the node is generated.
7         * include/bits/hashtable.h: Adapt.
8         (operator=(initializer_list<value_type>)): Reuse node if any.
9         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
10         Adjust dg-error line number.
11         * testsuite/23_containers/unordered_set/
12         not_default_constructible_hash_neg.cc: Likewise.
14 2013-07-04  Veres Lajos  <vlajos@gmail.com>
15             Jonathan Wakely  <jwakely.gcc@gmail.com>
17         * config/locale/generic/codecvt_members.cc: Fix typo.
18         * configure.host: Likewise.
19         * doc/html/manual/policy_data_structures_design.html: Likewise.
20         * doc/xml/manual/policy_data_structures.xml: Likewise.
21         * include/bits/hashtable.h: Likewise.
22         * include/bits/random.h: Likewise.
23         * include/profile/impl/profiler_trace.h: Likewise.
24         * testsuite/23_containers/deque/cons/2.cc: Likewise.
25         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
26         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
27         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
29 2013-07-04  Ray Chason  <chasonr@newsguy.com>
30             Paolo Carlini  <paolo.carlini@oracle.com>
32         PR libstdc++/57808
33         * include/bits/regex.h (regex_token_iterator<>::operator==,
34         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
35         regex_token_iterator<>::operator->): Declare const.
37 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
39         * include/bits/stl_list.h (list<>::insert(iterator,
40         size_type, const value_type&), list<>::insert(iterator,
41         initializer_list<>), list<>::insert(iterator, _InputIterator,
42         _InputIterator), list<>::splice(iterator, list&&),
43         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
44         iterator), list<>::splice(iterator, list&, iterator),
45         list<>::splice(iterator, list&&, iterator, iterator),
46         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
47         signatures to take const_iterator(s).
48         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
49         const value_type&), list<>::insert(const_iterator, _InputIterator,
50         _InputIterator)): Define.
51         * include/ext/vstring.h (__versa_string<>::insert(iterator,
52         size_type, _CharT), __versa_string<>::insert(iterator,
53         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
54         std::initializer_list<>), __versa_string<>::replace(iterator,
55         iterator, _InputIterator, _InputIterator), __versa_string<>::
56         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
57         signatures to take const_iterator(s).
58         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
59         * include/ext/vstring.tcc: Likewise.
60         * include/debug/list: Adjust.
61         * include/profile/list: Likewise.
62         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
63         New.
64         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
65         Extend.
66         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
67         Likewise.
68         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
69         Likewise.
70         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
71         Likewise.
72         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
73         Likewise.
75         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
76         Adjust dg-error line number.
77         * testsuite/23_containers/list/requirements/dr438/
78         constructor_1_neg.cc: Likewise.
79         * testsuite/23_containers/list/requirements/dr438/
80         constructor_2_neg.cc: Likewise.
81         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
82         Likewise.
84 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
86         * include/bits/stl_deque.h (deque<>::insert(iterator,
87         size_type, const value_type&), deque<>::insert(iterator,
88         initializer_list<>), deque<>::insert(iterator, _InputIterator,
89         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
90         * include/bits/stl_vector.h: Likewise.
91         * include/bits/stl_bvector.h: Likewise.
92         * include/debug/deque: Adjust.
93         * include/debug/vector: Likewise.
94         * include/profile/deque: Likewise.
95         * include/profile/vector: Likewise.
96         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
97         Extend.
98         * testsuite/23_containers/vector/bool/modifiers/insert/
99         const_iterator.cc: Likewise.
100         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
101         Likewise.
103         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
104         Adjust dg-error line number.
105         * testsuite/23_containers/deque/requirements/dr438/
106         constructor_1_neg.cc: Likewise.
107         * testsuite/23_containers/deque/requirements/dr438/
108         constructor_2_neg.cc: Likewise.
109         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
110         Likewise.
111         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
112         Likewise.
113         * testsuite/23_containers/vector/requirements/dr438/
114         constructor_1_neg.cc: Likewise.
115         * testsuite/23_containers/vector/requirements/dr438/
116         constructor_2_neg.cc: Likewise.
117         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
118         Likewise.
120 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
122         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
123         insert methods.
124         * include/bits/hashtable.h: Likewise.
125         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
126         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
127         New.
128         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
129         Adjust dg-error line number.
130         * testsuite/23_containers/unordered_set/
131         not_default_constructible_hash_neg.cc: Likewise.
132         * doc/xml/manual/containers.xml: Document hinting in unordered
133         containers.
135 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
137         * testsuite/21_strings/basic_string/operations/*: Move inside
138         testsuite/21_strings/basic_string/operations/data/.
139         * testsuite/21_strings/basic_string/compare/*: Move inside
140         testsuite/21_strings/basic_string/operations/.
141         * testsuite/21_strings/basic_string/find/*: Likewise.
142         * testsuite/21_strings/basic_string/rfind/*: Likewise.
143         * testsuite/21_strings/basic_string/substr/*: Likewise.
145 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
147         * testsuite/21_strings/basic_string/append/*: Move inside
148         testsuite/21_strings/basic_string/modifiers/.
149         * testsuite/21_strings/basic_string/assign/*: Likewise.
150         * testsuite/21_strings/basic_string/insert/*: Likewise.
151         * testsuite/21_strings/basic_string/replace/*: Likewise.
152         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
153         pop_back.cc: Rename to 1.cc.
154         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
155         pop_back.cc: Likewise.
156         * testsuite/ext/vstring/assign/*: Move inside
157         testsuite/ext/vstring/modifiers/.
159 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
161         * include/bits/stl_deque.h (deque<>::insert(iterator,
162         const value_type&), deque<>::insert(iterator, value_type&&),
163         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
164         take a const_iterator.
165         (deque<>::erase): Simplify.
166         * include/bits/stl_list.h: Likewise.
167         (_List_iterator<>::_M_const_cast): Add.
168         * include/bits/stl_vector.h: Likewise.
169         * include/bits/stl_bvector.h: Likewise.
170         (_Bit_iterator::_M_const_cast): Add.
171         * include/bits/deque.tcc: Adjust definitions.
172         * include/bits/list.tcc: Likewise.
173         * include/bits/vector.tcc: Likewise.
174         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
175         Define trivial version in C++98 mode.
176         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
177         __versa_string<>::replace(iterator, iterator, const __versa_string&),
178         __versa_string<>::replace(iterator, iterator, const _CharT*,
179         size_type), __versa_string<>::replace(iterator, iterator,
180         const _CharT*), __versa_string<>::replace(iterator, iterator,
181         size_type, _CharT)): Adjust C++11 signatures to take a pair of
182         const_iterators.
183         * include/debug/deque: Adjust.
184         * include/debug/list: Likewise.
185         * include/debug/vector: Likewise.
186         * include/profile/deque: Likewise.
187         * include/profile/list: Likewise.
188         * include/profile/vector: Likewise.
189         (vector<>::emplace): Add.
190         * testsuite/util/exception/safety.h: Update.
191         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
192         New.
193         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
194         Likewise.
195         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
196         Likewise.
197         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
198         Likewise.
199         * testsuite/23_containers/vector/bool/modifiers/insert/
200         const_iterator.cc: Likewise.
201         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
202         Likewise.
203         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
204         Likewise.
205         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
206         Likewise.
207         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
208         Likewise.
209         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
210         Likewise.
211         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
212         Likewise.
214         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
215         ext/vstring/modifiers/erase/char/.
216         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
217         ext/vstring/modifiers/wchar_t/.
218         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
219         ext/vstring/modifiers/pop_back/char/.
220         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
221         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
223         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
224         Adjust dg-error line number.
225         * testsuite/23_containers/deque/requirements/dr438/
226         constructor_1_neg.cc: Likewise.
227         * testsuite/23_containers/deque/requirements/dr438/
228         constructor_2_neg.cc: Likewise.
229         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
230         Likewise.
231         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
232         Likewise.
233         * testsuite/23_containers/list/requirements/dr438/
234         constructor_1_neg.cc: Likewise.
235         * testsuite/23_containers/list/requirements/dr438/
236         constructor_2_neg.cc: Likewise.
237         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
238         Likewise.
239         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
240         Likewise.
241         * testsuite/23_containers/vector/requirements/dr438/
242         constructor_1_neg.cc: Likewise.
243         * testsuite/23_containers/vector/requirements/dr438/
244         constructor_2_neg.cc: Likewise.
245         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
246         Likewise.
248 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
250         Status page for C++2014 library features
251         * doc/xml/faq.xml: Add link to new C++14 status page.
252         * doc/xml/manual/intro.xml: Ditto.
253         * doc/xml/manual/status_cxx2014.xml: New.
255 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
257         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
258         spurious fails with check-debug.
259         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
260         Likewise.
261         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
262         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
263         Likewise.
265 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
267         PR libstdc++/57704
268         * include/bits/char_traits.h (char_traits<char>::lt): Implement
269         LWG 467.
270         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
272 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
274         PR libstdc++/57691
275         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
276         declare per the letter of the C++ standard in terms of void.
277         * include/c_std/cstdlib: Likewise.
279 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
281         PR libstdc++/57674
282         * include/bits/random.h (binomial_distribution<>::_M_waiting):
283         Add double parameter.
284         * include/bits/random.tcc (binomial_distribution<>::operator()
285         (_UniformRandomNumberGenerator&, const param_type&)): Pass
286         __param._M_q to _M_waiting.
287         (_M_waiting): Adjust.
288         * testsuite/26_numerics/random/binomial_distribution/
289         operators/values.cc: Add tests.
291 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
293         PR libstdc++/57666
294         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
295         Implement correctly C++11 26.6.2.3/1.
296         * testsuite/26_numerics/valarray/dr630-3.C: New.
298 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
300         PR libstdc++/57641
301         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
302         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
303         to handle conversion between different clocks. Replace constrained
304         __try_lock_for_impl overloads with conditional increment.
305         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
306         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
308 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
309             Chris Jefferson  <chris@bubblescope.net>
311         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
312         dispatch to traditional std::equal for random-access iterators.
313         (__equal2_aux, __equal2): Remove.
314         (__equal::equal): Remove unused overloads.
315         * include/bits/stl_algo.h (is_permutation): Fix typos.
317 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
319         * include/std/shared_mutex (shared_lock::operator=): Add missing
320         return statement.
322 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
324         PR libstdc++/57263
325         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
326         allocator's pointer type.
327         * include/bits/hashtable.h (_Hashtable): Likewise.
328         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
329         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
330         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
331         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
333 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
335         * include/std/shared_mutex: Implement N3659.
336         * include/bits/c++14_warning.h: New.
337         * include/Makefile.am: Add new headers.
338         * include/Makefile.in: Regenerate.
339         * testsuite/30_threads/shared_lock/cons/1.cc: New.
340         * testsuite/30_threads/shared_lock/locking/2.cc: New.
341         * testsuite/30_threads/shared_lock/cons/2.cc: New.
342         * testsuite/30_threads/shared_lock/locking/3.cc: New.
343         * testsuite/30_threads/shared_lock/cons/3.cc: New.
344         * testsuite/30_threads/shared_lock/locking/4.cc: New.
345         * testsuite/30_threads/shared_lock/cons/4.cc: New.
346         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
347         * testsuite/30_threads/shared_lock/cons/5.cc: New.
348         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
349         * testsuite/30_threads/shared_lock/cons/6.cc: New.
350         * testsuite/30_threads/shared_lock/requirements/
351         explicit_instantiation.cc: New.
352         * testsuite/30_threads/shared_lock/locking/1.cc: New.
353         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
354         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
355         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
356         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
357         * testsuite/30_threads/shared_mutex/requirements/
358         standard_layout.cc: New.
359         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
360         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
362 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
364         PR libstdc++/57619
365         * include/bits/unordered_map.h (unordered_map<>::insert,
366         unordered_multimap<>::insert): Use std::forward, not std::move.
367         * testsuite/23_containers/unordered_map/insert/57619.C: New.
368         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
370 2013-06-14  Alan Modra  <amodra@gmail.com>
372         * configure.host (abi_baseline_pair): Match powerpc64*.
374 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
376         * include/std/type_traits (is_function): Support ref-qualified
377         functions.
378         (is_copy_constructible, is_move_constructible, is_copy_assignable,
379         is_move_assignable, is_nothrow_copy_constructible,
380         is_nothrow_move_constructible, is_nothrow_copy_assignable,
381         is_nothrow_move_assignable): Implement LWG 2196.
382         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
383         LWG 2101.
384         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
385         unused.
386         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
387         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
388         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
389         * testsuite/20_util/is_assignable/value.cc: Likewise.
390         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
391         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
392         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
393         * testsuite/20_util/is_function/value.cc: Likewise.
394         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
395         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
396         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
397         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
398         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
399         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
401         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
402         line number.
403         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
404         Likewise.
405         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
406         Likewise.
408 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
410         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
411         __gnu_cxx::__airy_bi()): Remove.
412         * testsuite/tr1/5_numerical_facilities/special_functions/
413         10_cyl_bessel_k/airy.cc: Fix.
415 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
417         PR libstdc++/56430
418         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
419         from void function.
420         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
421         * testsuite/tr1/5_numerical_facilities/special_functions/
422         10_cyl_bessel_k/airy.cc: New.
424 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
426         Fix library literals error involving namespace __detail.
427         * include/std/chrono: Rename __detail to __select_type. Reformat.
428         * include/bits/basic_string.h: Reformat.
429         * testsuite/20_util/duration/literals/ns_detail.cc: New.
431 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
433         PR libstdc++/56019
434         * include/c_global/cstddef (max_align_t): Add to namespace std.
435         * include/c_std/cstddef: Likewise.
436         * testsuite/18_support/max_align_t/requirements/1.cc: New.
437         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
439 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
441         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
442         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
443         * include/bits/stl_multimap.h: Same.
444         * include/bits/stl_multiset.h: Same.
445         * include/bits/stl_set.h: Same.
446         * include/bits/stl_tree.h: Same.
447         * include/std/complex (real, imag): Use macro for abi_tag.
449         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
450         * testsuite/util/testsuite_containers.h (erase_external): New
451         declarations.
452         (erase_external_iterators): Same.
453         (linkage_check_cxx98_cxx11_erase): Same.
454         (linkage_check_cxx98_cxx11_erase_iterators): Same.
455         * testsuite/util/testsuite_shared.cc: Define.
456         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
457         * testsuite/23_containers/map/modifiers/erase/
458         dr130-linkage-check.cc: New.
459         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
460         * testsuite/23_containers/multimap/modifiers/erase/
461         dr130-linkage-check.cc: New.
462         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
463         * testsuite/23_containers/multiset/modifiers/erase/
464         dr130-linkage-check.cc: New.
465         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
466         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
467         New.
468         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
470         * testsuite/23_containers/map/dr130.cc: Move...
471         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
472         * testsuite/23_containers/multimap/dr130.cc: Move ...
473         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
474         * testsuite/23_containers/multiset/dr130.cc: Move...
475         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
476         * testsuite/23_containers/set/dr130.cc: Move...
477         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
479 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
481         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
482         handling of Linux-based x86 systems to cover all GNU systems.
483         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
484         * testsuite/18_support/pthread_guard.cc: Likewise.
485         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
486         Likewise.
487         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
488         Likewise.
489         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
490         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
491         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
492         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
493         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
494         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
495         * testsuite/23_containers/list/pthread1.cc: Likewise.
496         * testsuite/23_containers/list/pthread5.cc: Likewise.
497         * testsuite/23_containers/map/pthread6.cc: Likewise.
498         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
499         Likewise.
500         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
501         Likewise.
502         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
503         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
504         * testsuite/30_threads/async/42819.cc: Likewise.
505         * testsuite/30_threads/async/49668.cc: Likewise.
506         * testsuite/30_threads/async/54297.cc: Likewise.
507         * testsuite/30_threads/async/any.cc: Likewise.
508         * testsuite/30_threads/async/async.cc: Likewise.
509         * testsuite/30_threads/async/launch.cc: Likewise.
510         * testsuite/30_threads/async/sync.cc: Likewise.
511         * testsuite/30_threads/call_once/39909.cc: Likewise.
512         * testsuite/30_threads/call_once/49668.cc: Likewise.
513         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
514         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
515         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
516         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
517         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
518         * testsuite/30_threads/condition_variable/members/53841.cc:
519         Likewise.
520         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
521         Likewise.
522         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
523         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
524         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
525         * testsuite/30_threads/condition_variable_any/members/1.cc:
526         Likewise.
527         * testsuite/30_threads/condition_variable_any/members/2.cc:
528         Likewise.
529         * testsuite/30_threads/future/cons/move.cc: Likewise.
530         * testsuite/30_threads/future/members/45133.cc: Likewise.
531         * testsuite/30_threads/future/members/get.cc: Likewise.
532         * testsuite/30_threads/future/members/get2.cc: Likewise.
533         * testsuite/30_threads/future/members/share.cc: Likewise.
534         * testsuite/30_threads/future/members/valid.cc: Likewise.
535         * testsuite/30_threads/future/members/wait.cc: Likewise.
536         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
537         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
538         * testsuite/30_threads/lock/1.cc: Likewise.
539         * testsuite/30_threads/lock/2.cc: Likewise.
540         * testsuite/30_threads/lock/3.cc: Likewise.
541         * testsuite/30_threads/lock/4.cc: Likewise.
542         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
543         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
544         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
545         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
546         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
547         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
548         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
549         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
550         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
551         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
552         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
553         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
554         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
555         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
556         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
557         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
558         Likewise.
559         * testsuite/30_threads/packaged_task/members/get_future.cc:
560         Likewise.
561         * testsuite/30_threads/packaged_task/members/get_future2.cc:
562         Likewise.
563         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
564         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
565         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
566         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
567         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
568         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
569         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
570         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
571         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
572         * testsuite/30_threads/promise/cons/1.cc: Likewise.
573         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
574         * testsuite/30_threads/promise/cons/move.cc: Likewise.
575         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
576         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
577         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
578         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
579         * testsuite/30_threads/promise/members/set_exception2.cc:
580         Likewise.
581         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
582         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
583         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
584         * testsuite/30_threads/promise/members/swap.cc: Likewise.
585         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
586         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
587         Likewise.
588         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
589         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
590         Likewise.
591         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
592         Likewise.
593         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
594         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
595         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
596         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
597         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
598         Likewise.
599         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
600         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
601         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
602         Likewise.
603         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
604         Likewise.
605         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
606         Likewise.
607         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
608         Likewise.
609         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
610         Likewise.
611         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
612         Likewise.
613         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
614         Likewise.
615         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
616         Likewise.
617         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
618         Likewise.
619         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
620         Likewise.
621         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
622         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
623         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
624         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
625         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
626         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
627         * testsuite/30_threads/shared_future/members/wait_for.cc:
628         Likewise.
629         * testsuite/30_threads/shared_future/members/wait_until.cc:
630         Likewise.
631         * testsuite/30_threads/this_thread/1.cc: Likewise.
632         * testsuite/30_threads/this_thread/2.cc: Likewise.
633         * testsuite/30_threads/this_thread/3.cc: Likewise.
634         * testsuite/30_threads/this_thread/4.cc: Likewise.
635         * testsuite/30_threads/thread/cons/1.cc: Likewise.
636         * testsuite/30_threads/thread/cons/2.cc: Likewise.
637         * testsuite/30_threads/thread/cons/3.cc: Likewise.
638         * testsuite/30_threads/thread/cons/4.cc: Likewise.
639         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
640         * testsuite/30_threads/thread/cons/5.cc: Likewise.
641         * testsuite/30_threads/thread/cons/6.cc: Likewise.
642         * testsuite/30_threads/thread/cons/7.cc: Likewise.
643         * testsuite/30_threads/thread/cons/8.cc: Likewise.
644         * testsuite/30_threads/thread/cons/9.cc: Likewise.
645         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
646         * testsuite/30_threads/thread/members/1.cc: Likewise.
647         * testsuite/30_threads/thread/members/2.cc: Likewise.
648         * testsuite/30_threads/thread/members/3.cc: Likewise.
649         * testsuite/30_threads/thread/members/4.cc: Likewise.
650         * testsuite/30_threads/thread/members/5.cc: Likewise.
651         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
652         Likewise.
653         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
654         * testsuite/30_threads/thread/native_handle/typesizes.cc:
655         Likewise.
656         * testsuite/30_threads/thread/swap/1.cc: Likewise.
657         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
658         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
659         Likewise.
660         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
661         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
662         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
663         Likewise.
664         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
665         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
666         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
667         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
668         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
669         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
670         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
671         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
672         * testsuite/30_threads/try_lock/1.cc: Likewise.
673         * testsuite/30_threads/try_lock/2.cc: Likewise.
674         * testsuite/30_threads/try_lock/3.cc: Likewise.
675         * testsuite/30_threads/try_lock/4.cc: Likewise.
676         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
677         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
678         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
679         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
680         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
681         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
682         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
683         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
684         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
685         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
686         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
687         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
688         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
689         * testsuite/ext/profile/mh.cc: Likewise.
690         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
691         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
692         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
693         Likewise.
694         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
695         Likewise.
696         * testsuite/util/testsuite_performance.h: Extend current handling
697         of Linux-based systems to cover all glibc-based systems.
699 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
701         * include/std/mutex (call_once): Remove parentheses to fix error in
702         c++1y and gnu++1y mode.
703         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
704         thread to avoid undefined behaviour.
706 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
708         Simplify and clean up library literals.
709         * include/std/chrono: Simplify namespace and versioning management.
710         * include/bits/basic_string.h: Ditto.
711         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
712         * testsuite/20_util/duration/literals/values.cc: Ditto.
713         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
714         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
716 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
718         Implement N3654 - Quoted Strings Library Proposal
719         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
720         manipulators and supporting machinery in c++1y mode.
721         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
722         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
724 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
726         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
727         2162: Add noexcept.
729 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
731         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
732         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
733         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
734         * testsuite/25_algorithms/equal/2.cc: New.
735         * testsuite/25_algorithms/equal/check_type2.cc: New.
736         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
737         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
738         * testsuite/25_algorithms/mismatch/2.cc: New.
739         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
740         * testsuite/util/testsuite_iterators.h: Fix spelling.
742 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
744         * include/std/type-traits (integral_constant::operator()): Implement
745         N3545.
746         * testsuite/20_util/integral_constant/call_operator.cc: New.
747         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
748         line numbers.
749         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
750         Likewise.
751         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
752         Likewise.
754 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
756         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
758 2013-06-05  Tom Tromey  <tromey@redhat.com>
760         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
762 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
764         PR c++/57419
765         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
767 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
769         * include/std/chrono: Collapse redundant 'inline' from 'inline
770         constexpr'.
771         * include/std/tuple: Ditto.
772         * include/bits/move.h: Ditto.
774 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
776         Implement N3642 - User-defined Literals for Standard Library Types
777         * include/bits/parse_numbers.h: New.
778         * include/std/chrono: Add duration literal operators.
779         * include/bits/basic_string.h: Add string literal operators.
780         * include/Makefile.in: Add parse_numbers.h.
781         * include/Makefile.am: Ditto.
782         * testsuite/20_util/duration/literals/values.cc: New.
783         * testsuite/20_util/duration/literals/types.cc: New.
784         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
785         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
786         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
787         * testsuite/21_strings/basic_string/literals/values.cc: New.
788         * testsuite/21_strings/basic_string/literals/types.cc: New.
790 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
792         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
793         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
794         calling non-existent from_time_t.
796 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
798         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
799         Regenerate.
801 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
803         * include/std/chrono: Wrap clocks in inline namespace _V2.
804         * src/c++11/chrono.cc: Same.
805         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
806         file, with default configure macros selected.
808         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
809         namespace.
810         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
812         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
813         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
814         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
815         Regenerated.
816         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
817         Regenerated.
818         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
819         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
820         Regenerated.
821         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
822         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
823         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
824         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
825         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
826         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
827         Regenerated.
828         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
829         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
831 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
833         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
834         (CLOCK_MONOTONIC): Define.
836 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
838         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
839         overload.
841         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
843 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
845         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
846         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
847         don't define system_clock::is_steady, system_clock::now() and
848         steady_clock::is_steady.
849         (std::chrono::system_clock::now()): If
850         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
851         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
852         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
853         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
854         be non-empty.
855         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
856         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
857         * src/c++11/compatibility-chrono.cc: New file.
858         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
859         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
860         * testsuite/util/testsuite_abi.cc (check_version): Add
861         GLIBCXX_3.4.20 version and make it the latest.
862         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
863         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
864         @@GLIBCXX_3.4.20 instead.
865         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
866         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
867         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
868         Regenerated.
869         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
870         Regenerated.
871         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
872         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
873         Regenerated.
874         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
875         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
876         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
877         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
878         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
879         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
880         Regenerated.
881         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
882         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
883         * config.h.in: Regenerated.
884         * src/Makefile.in: Regenerated.
885         * configure: Regenerated.
887 2013-05-23  Matthias Klose  <doko@ubuntu.com>
889         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
890         (ext_headers): Remove ${ext_host_headers}.
891         (stamp-${host_alias}): Create ${host_builddir}/../ext.
892         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
893         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
894         * include/Makefile.in: Regenerate.
895         * include/ext/random: Include ext/opt_random.h.
897 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
899         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
900         enable features if target OS is known to support them.
901         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
902         * configure: Regenerate.
904 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
906         PR libstdc++/57336
907         * include/std/functional (__invoke): Do not form function types with
908         abstract return type.
909         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
911 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
913         * include/std/tuple (get): Implement N3670.
914         * include/std/utility (get): Likewise.
915         * testsuite/20_util/pair/get.cc: Move to ...
916         * testsuite/20_util/pair/astuple/get.cc: Here.
917         * testsuite/20_util/pair/astuple/astuple.cc: New.
918         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
919         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
920         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
921         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
922         * testsuite/20_util/pair/astuple/get_neg.cc: New.
923         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
924         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
925         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
927 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
929         * Revert last commit.
931 2013-05-19  Matthias Klose  <doko@ubuntu.com>
933         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
934         (ext_headers): Remove ${ext_host_headers}.
935         (stamp-${host_alias}): Create ${host_builddir}/../ext.
936         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
937         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
938         * include/Makefile.in: Regenerate.
940 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
942         * include/std/system_error (error_category::error_category()): LWG
943         2145: Declare public and constexpr.
944         * src/c++11/system_error.cc (error_category::error_category()): Move
945         definition to ...
946         * src/c++11/compatibility-c++0x.cc: Here.
948 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
950         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
952 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
954         * include/bits/unique_ptr.h (make_unique): Declare inline.
955         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
956         (default_delete, unique_ptr): Add doxygen comments.
957         * include/bits/shared_ptr_base.h: Improve doxygen comments.
958         * include/bits/shared_ptr.h: Likewise.
959         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
960         number.
961         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
963 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
965         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
967 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
969         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
971 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
973         * include/std/utility (exchange): Define.
974         * testsuite/20_util/exchange/1.cc: New.
976 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
978         * include/bits/unique_ptr.h (make_unique): Define.
979         * testsuite/20_util/unique_ptr/creation/single.cc: New.
980         * testsuite/20_util/unique_ptr/creation/array.cc: New.
981         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
983 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
985         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
986         rendering of std::tr1 unordered containers iterator.
987         (StdHashtableIterator): New, render std unordered containers iterator.
988         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
990 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
992         * include/bits/basic_string.h (getline): Fix doxygen comments.
994 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
996         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
997         Use std::pointer_traits.
999 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1001         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
1002         bad_array_new.cc.
1003         * libsupc++/Makefile.in: Regenerate.
1004         * libsupc++/bad_array_length.cc: Tweak.
1005         * libsupc++/bad_array_new.cc: Tweak.
1007 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1009         PR libstdc++/54577
1010         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
1011         (_Deque_iterator<>::_M_const_cast): Add.
1012         (deque<>::_M_erase): Declare.
1013         * include/bits/deque.tcc: ... and define.
1014         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
1015         (_List_const_iterator<>::_M_const_cast): Add.
1016         * include/bits/list.tcc (erase (iterator)): Fix.
1017         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1018         Add; include <ext/cast.h>.
1019         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
1020         (vector<>::_M_erase): Declare.
1021         * include/bits/stl_bvector.h: Likewise.
1022         * include/bits/vector.tcc (vector<>::_M_erase): Define.
1023         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
1024         * include/debug/deque: Adjust.
1025         * include/debug/list: Likewise.
1026         * include/debug/vector: Likewise.
1027         * include/profile/deque: Likewise.
1028         * include/profile/list: Likewise.
1029         * include/profile/vector: Likewise.
1030         * testsuite/util/exception/safety.h (erase_base<deque>,
1031         erase_base<deque>, erase_base<vector>): Remove.
1032         (erase_base<__versa_string>): Update.
1033         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
1034         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
1035         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
1036         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
1037         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
1038         Likewise.
1039         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
1040         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1041         Adjust dg-error line numbers.
1042         * testsuite/23_containers/deque/requirements/dr438/
1043         constructor_1_neg.cc: Likewise.
1044         * testsuite/23_containers/deque/requirements/dr438/
1045         constructor_2_neg.cc: Likewise.
1046         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1047         Likewise.
1048         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1049         Likewise.
1050         * testsuite/23_containers/list/requirements/dr438/
1051         constructor_1_neg.cc: Likewise.
1052         * testsuite/23_containers/list/requirements/dr438/
1053         constructor_2_neg.cc: Likewise.
1054         * testsuite/23_containers/list/requirements/dr438/
1055         insert_neg.cc: Likewise.
1056         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1057         Likewise.
1058         * testsuite/23_containers/vector/requirements/dr438/
1059         constructor_1_neg.cc: Likewise.
1060         * testsuite/23_containers/vector/requirements/dr438/
1061         constructor_2_neg.cc: Likewise.
1062         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1063         Likewise.
1065 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
1067         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
1069 2013-05-08  Jason Merrill  <jason@redhat.com>
1071         Add std::bad_array_length (N3639)
1072         * libsupc++/new: Add std::bad_array_length.
1073         * libsupc++/bad_array_length.cc: New.
1074         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
1075         * libsupc++/Makefile.in: Build them.
1076         * config/abi/pre/gnu.ver: Add new symbols.
1077         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1079 2013-05-08  Andi Kleen  <ak@linux.intel.com>
1081         PR target/55947
1082         * libstdc++-v3/include/bits/atomic_base.h
1083         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
1084         (atomic_thread_fence, atomic_signal_fence, test_and_set,
1085         clear, store, load, exchange, compare_exchange_weak)
1086         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
1087         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
1089 2013-05-08  Jason Merrill  <jason@redhat.com>
1091         Add std::bad_array_new_length (N2932)
1092         * libsupc++/new: Add std::bad_array_new_length.
1093         * libsupc++/bad_array_new.cc: New.
1094         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
1095         * libsupc++/Makefile.in: Build them.
1096         * config/abi/pre/gnu.ver: Add new symbols.
1097         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1099 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
1101         PR libstdc++/57212
1102         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
1103         to __MINGW32__.
1104         * include/Makefile.in: Regenerated.
1106 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
1108         * include/profile/unordered_base.h: New.
1109         * include/Makefile.am: Add new profile header.
1110         * include/Makefile.in: Regenerate.
1111         * include/profile/impl/profiler.h
1112         (__profcxx_inefficient_hash_is_on): New macro.
1113         * include/profile/unordered_map (std::profile::unordered_map<>):
1114         Use new _Unordered_profile base class. Use default implementations
1115         for special functions.
1116         (std::profile::unordered_multimap<>): Likewise.
1117         * include/profile/unordered_set (std::profile::unordered_set<>):
1118         Likewise.
1119         (std::profile::unordered_multiset<>): Likewise.
1120         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
1121         MoveOnly equality operator signature.
1123 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1125         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
1126         constexpr_data.cc: Move...
1127         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
1128         ... here.
1129         * testsuite/20_util/integral_constant/requirements/
1130         explicit_instantiation.cc: New.
1131         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
1132         Likewise.
1133         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
1134         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
1135         Likewise.
1136         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
1137         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
1139 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1141         * include/std/type_traits (is_null_pointer): Add.
1142         (__is_nullptr_t): Implement in terms of the latter.
1143         (is_fundamental, is_scalar): Adjust.
1144         * testsuite/20_util/is_null_pointer/requirements/
1145         explicit_instantiation.cc: New.
1146         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
1147         Likewise.
1148         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
1149         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1150         line number.
1151         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1152         Likewise.
1153         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1154         Likewise.
1156 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1158         * include/c_global/cstdio: Add comment about LWG 2249.
1159         * include/c_std/cstdio: Likewise.
1161 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1163         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
1164         comment.
1165         * include/std/mutex (__recursive_mutex_base): Likewise.
1167 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1169         PR libstdc++/51365
1170         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
1171         implement EBO safely.
1172         (_Sp_counted_base::_M_get_deleter): Add noexcept.
1173         (_Sp_counter_ptr): Use noexcept instead of comments.
1174         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
1175         (_Sp_counted_ptr_inplace): Likewise.
1176         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
1177         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
1178         custom allocator and test construction with custom allocator.
1179         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
1180         line number.
1182 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1184         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
1185         dialect to -std=gnu++11.
1187 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
1189         * include/bits/hashtable_policy.h
1190         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
1191         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
1193 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1195         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
1196         * include/c_std/cstdio (gets): Likewise.
1197         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
1199 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1201         PR libstdc++/57065
1202         * include/debug/unordered_map (unordered_map, unordered_multimap):
1203         Fix default allocator type.
1204         * include/profile/unordered_map (unordered_map, unordered_multimap):
1205         Likewise.
1206         * include/bits/unordered_map.h: Fix comments.
1208 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1210         PR libstdc++/56905
1211         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
1212         move implementation to make_exception_ptr.
1213         * include/std/future (_State_base::_M_break_promise): Replace
1214         copy_exception with make_exception_ptr.
1215         * testsuite/18_support/exception_ptr/move.cc: Likewise.
1216         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1217         * testsuite/30_threads/future/members/get2.cc: Likewise.
1218         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1219         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1220         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1221         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1223 2013-04-22  Jason Merrill  <jason@redhat.com>
1225         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
1227         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
1228         substitution" lines.
1230         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
1231         function-cv-quals.
1232         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1233         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
1234         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
1236 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
1238         * include/bits/hashtable_policy.h: Add C++11 allocator support.
1239         * include/bits/hashtable.h: Likewise.
1240         * include/bits/unordered_set.h: Likewise.
1241         * include/bits/unordered_map.h: Likewise.
1242         * include/debug/unordered_set: Likewise.
1243         * include/debug/unordered_map: Likewise.
1244         * include/std/unordered_set: Remove bits/algobase.h
1245         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
1246         * include/std/unordered_map: Likewise.
1247         * include/ext/throw_allocator.h: Add checks on calls to allocator
1248         construct/destroy.
1249         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
1250         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
1251         * testsuite/util/regression/rand/priority_queue
1252         /container_rand_regression_test.tcc: Adapt.
1253         * testsuite/util/regression/rand/assoc
1254         /container_rand_regression_test.tcc: Likewise.
1255         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
1256         * testsuite/23_containers/unordered_set
1257         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
1258         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
1259         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
1260         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
1261         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
1262         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
1263         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
1264         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
1265         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
1266         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
1267         New.
1268         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
1269         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1270         New.
1271         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
1272         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
1273         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
1274         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
1275         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
1276         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
1277         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
1278         New.
1279         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
1280         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
1281         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
1282         New.
1283         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
1284         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1285         New.
1286         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
1287         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
1289 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1291         * include/std/type_traits (is_signed): Simplify.
1292         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1293         Adjust dg-error line numbers.
1294         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1295         Likewise.
1296         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1298 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1300         N3669
1301         * include/std/complex (complex<float>::real, complex<float>::imag,
1302         complex<double>::real, complex<double>::imag,
1303         complex<long double>::real, complex<long double>::imag): Declare
1304         as const member functions.
1305         * include/std/type_traits (integral_constant<>::operator value_type):
1306         Likewise.
1308 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1310         PR libstdc++/57010
1311         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
1312         * testsuite/25_algorithms/pop_heap/57010.cc: New.
1314 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
1316         * src/c++11/system_error.cc (generic_category_instance): Add
1317         initializer.
1318         (system_category_instance): Likewise.
1319         * src/c++11/future.cc (__fec): Likewise.
1321 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1323         * doc/xml/manual/extensions.xml: Fix anachronism.
1325 2013-04-09  Tom Tromey  <tromey@redhat.com>
1327         * configure, config.h.in: Rebuild.
1328         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
1329         sys/sdt.h.
1330         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
1332 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
1334         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1336 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
1338         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
1340 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1342         * include/Makefile.am: Add ext/aligned_buffer.h
1343         * include/Makefile.in: Regenerate.
1344         * include/ext/aligned_buffer.h: New.
1345         * include/std/future (_Result): Use __aligned_buffer.
1346         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
1347         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
1348         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
1349         number.
1351 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1353         * include/bits/forward_list.h: Only include required headers.
1354         (forward_list::reference): Define directly, not using __alloc_traits.
1355         (forward_list::const_reference): Likewise.
1357 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
1359         * include/std/functional (_Derives_from_unary_function): Remove.
1360         (_Derives_from_binary_function): Remove.
1361         * include/std/type_traits (__sfinae_types): Remove.
1362         (__is_assignable_helper): Adapt.
1363         (__is_convertible_helper): Adapt.
1364         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
1365         Remove several explicit instantiations of integral_constant.
1366         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
1367         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1368         Adapt dg-error line number.
1369         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1370         Likewise.
1371         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1372         * testsuite/20_util/bind/ref_neg.cc: Likewise.
1374 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1376         PR libstdc++/56841
1377         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
1378         get_terminate() accessors.
1379         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1380         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
1381         available.
1382         * libsupc++/new_handler.cc: Likewise.
1384 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1386         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
1388 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1390         PR libstdc++/56834
1391         * include/debug/array (tuple_size, tuple_element): Do not declare.
1392         * include/profile/array: Likewise.
1393         * testsuite/23_containers/array/tuple_interface/
1394         tuple_element_debug_neg.cc: Adjust dg-error line number.
1396 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1398         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
1399         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
1400         Define.
1401         (set_terminate(terminate_handler)): Set atomically.
1402         (set_unexpected(terminate_handler)): Likewise.
1403         * libsupc++/new (get_new_handler()): Declare.
1404         * libsupc++/new_handler.cc (get_new_handler()): Define.
1405         (set_new_handler(new_handler)): Set atomically.
1406         (__new_handler): Use internal linkage.
1407         * libsupc++/new_op.cc (operator new): Use get_new_handler().
1408         * libsupc++/new_opnt.cc (operator new): Likewise.
1409         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
1410         * configure: Regenerate.
1411         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
1412         * libsupc++/Makefile.in: Regenerate.
1413         * config/abi/pre/gnu.ver: Add new exports.
1414         * doc/xml/manual/status_cxx2011.xml: Update.
1415         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
1416         for handlers.
1417         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
1418         * testsuite/18_support/new_handler.cc: New.
1419         * testsuite/18_support/terminate_handler.cc: New.
1420         * testsuite/18_support/unexpected_handler.cc: New.
1422 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1424         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
1425         defer to general documentation on contributing to GCC.
1426         * doc/html/*: Regenerate.
1428 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
1430         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
1432         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
1433         Coding Standards.
1435         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
1437         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
1439         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
1441         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
1443         * doc/xml/manual/policy_data_structures: Remove direct link to
1444         IBM Haifa Research Labs.
1446         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1447         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
1449         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
1450         papers.
1452         * doc/xml/manual/shared_ptr.xml: Use canonical address for
1453         www.boost.org.
1455 2013-03-27  Kai Tietz  <ktietz@redhat.com>
1457         * crossconfig.m4: Add support for cygwin x64 target.
1458         * configure: Regenerated.
1460 2013-03-25  Kai Tietz  <ktietz@redhat.com>
1462         * testsuite/18_support/50594.cc: For mingw-targets use only static
1463         libstdc++-version.
1464         * testsuite/19_diagnostics/error_category/operators/equal.cc
1465         * testsuite/19_diagnostics/error_code/cons/1.cc
1466         * testsuite/19_diagnostics/error_code/operators/bool.cc
1467         * testsuite/19_diagnostics/error_code/operators/equal.cc
1468         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
1469         * testsuite/19_diagnostics/error_condition/cons/1.cc
1470         * testsuite/19_diagnostics/error_condition/operators/bool.cc
1471         * testsuite/19_diagnostics/error_condition/operators/equal.cc
1472         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
1473         * testsuite/23_containers/set/requirements/exception/basic.cc
1474         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
1475         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
1477 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1479         PR libstdc++/56170
1480         * include/ext/debug_allocator.h (debug_allocator): Add missing members
1481         to meet allocator requirements.
1482         * testsuite/ext/debug_allocator/56170.cc: New.
1484 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
1486         PR libstdc++/56678
1487         * include/std/chrono (__is_ratio): Uglify T.
1489 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
1491         PR libstdc++/55977 (partial, std::vector and std::deque bits)
1492         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
1493         _InputIterator, std::input_iterator_tag)): Use emplace_back.
1494         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
1495         _InputIterator, std::input_iterator_tag)): Likewise.
1496         * testsuite/23_containers/vector/cons/55977.cc: New.
1497         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
1498         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1499         Adjust dg-error line number.
1500         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1501         Likewise.
1503 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
1505         PR libstdc++/55979
1506         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
1507         _InputIterator, __false_type)): Use emplace_back.
1508         * testsuite/23_containers/list/cons/55979.cc: New.
1509         * testsuite/23_containers/list/modifiers/1.h: Adjust.
1510         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1511         Adjust dg-error line number.
1513 2013-03-16  Jason Merrill  <jason@redhat.com>
1515         PR c++/55017
1516         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
1518 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1520         PR libstdc++/56468
1521         * libsupc++/exception_ptr.h (type_info): Declare.
1523 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1525         PR libstdc++/56002
1526         * include/std/mutex (lock_guard, unique_lock, lock): Define without
1527         depending on _GLIBCXX_HAS_GTHREADS.
1528         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
1530 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1532         PR libstdc++/56492
1533         * include/std/future (__future_base::_Result): Add result_type
1534         typedef.
1535         (__future_base::_S_allocate_result): Overload for std::allocator.
1536         (__future_base::_Task_setter): Use _Result::result_type instead of
1537         deducing the type from the task.
1538         (__future_base::_Task_state): Store allocator to allow shared state
1539         to be reset.  Replace std::function with member of target object type
1540         accessed via ...
1541         (__future_base::_Task_state_base): New abstract base class.
1542         (__future_base::_Task_state_base::_M_run): New virtual function to
1543         invoke type-erased target object.
1544         (__future_base::_Task_state_base::_M_reset): New virtual function to
1545         create new shared_state using same target object and allocator.
1546         (__future_base::__create_task_state): Allocate a new _Task_state.
1547         (packaged_task::packaged_task): Use __create_task_state.
1548         (packaged_task::reset): Use _Task_state_base::_M_reset.
1549         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
1551 2013-03-15  Tom Tromey  <tromey@redhat.com>
1553         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
1554         (PROBE2): New macro.
1555         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
1556         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
1557         * configure.ac: Check for sys/sdt.h.
1558         * configure, config.h.in: Rebuild.
1560 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1562         PR libstdc++/56613
1563         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
1564         allocator_traits instead of calling construct directly.
1565         * testsuite/23_containers/map/56613.cc: New.
1567 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
1569         * doc/html/*: Regenerate.
1571 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
1573         PR libstdc++/56609
1574         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
1575         * testsuite/20_util/is_fundamental/value.cc: Extend.
1576         * testsuite/20_util/is_compound/value.cc: Likewise.
1578 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
1580         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
1581         -Wunused warnings.
1583 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1585         * include/bits/memoryfwd.h: New. Centralize forward declarations.
1586         * include/bits/algorithmfwd.h: Consistent comments.
1587         * include/bits/localefwd.h: Same.
1588         * include/ext/vstring_fwd.h: Same.
1589         * include/parallel/algorithmfwd.h: Same.
1590         * include/parallel/numericfwd.h: Same.
1591         * include/std/iosfwd: Same.
1593         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
1594         forward decl.
1595         * include/ext/alloc_traits.h: Remove allocator forward decl.
1596         * include/bits/stl_construct.h: Same.
1597         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
1598         forward decl. Consistent comments.
1600         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
1602         * include/Makefile.am (bits_headers): Add memoryfwd.h.
1603         * include/Makefile.in: Regenerate.
1604         * configure: Same.
1606 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
1608         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
1609         Reset pointers after deallocation when memory can be reused.
1610         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
1611         elements to really challenge C++11 allocator integration.
1612         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
1613         * testsuite/23_containers/vector/allocator/copy_assign.cc:
1614         Likewise.
1615         * testsuite/23_containers/vector/allocator/move_assign.cc:
1616         Likewise.
1617         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
1618         swap vector back before checks on memory/personality mapping are
1619         performed.
1620         * testsuite/23_containers/forward_list/allocator/minimal.cc:
1621         Insert element to really challenge C++11 allocator integration.
1622         * testsuite/23_containers/forward_list/allocator/copy.cc:
1623         Likewise.
1624         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
1625         Likewise.
1626         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1627         Likewise.
1628         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
1629         and swap forward_list back before checks on memory/personality
1630         mapping are performed.
1632 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
1634         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1635         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1636         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1637         Likewise.
1638         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1639         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1640         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1641         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1642         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1643         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1645 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1647         * scripts/extract_symvers.pl: Omit symbols bound to base
1648         versions.
1649         * scripts/extract_symvers.in: Likewise.
1650         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1651         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1652         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1653         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1654         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1656 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
1658         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
1659         Optimize generation function by pulling computation of __r into the
1660         constructor for param_type.  Also compare _M_mu in operator==.
1661         Fix comment.
1663 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
1665         Add triangular and von Mises distributions.
1666         * include/ext/random: Include <ext/cmath>.
1667         Add __gnu_cxx::triangular_distribution<> and
1668         __gnu_cxx::von_mises_distribution<> classes.
1669         * include/ext/random.tcc: Add out-of-line functions for
1670         __gnu_cxx::triangular_distribution<> and
1671         __gnu_cxx::von_mises_distribution<>.
1672         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
1673         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
1674         * testsuite/ext/triangular_distribution/operators/serialize.cc:
1675         New file.
1676         * testsuite/ext/triangular_distribution/operators/equal.cc:
1677         New file.
1678         * testsuite/ext/triangular_distribution/operators/inequal.cc:
1679         New file.
1680         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
1681         New file.
1682         * testsuite/ext/triangular_distribution/requirements/
1683         explicit_instantiation/1.cc: New file.
1684         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
1685         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
1686         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
1687         New file.
1688         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
1689         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
1690         New file.
1691         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
1692         New file.
1693         * testsuite/ext/von_mises_distribution/requirements/
1694         explicit_instantiation/1.cc: New file.
1696         Add math constants.
1697         * include/Makefile.am (ext_headers): Add cmath.
1698         * include/Makefile.in: Regenerated.
1699         * include/ext/cmath: New file.
1701 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1703         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1704         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1705         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1706         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1707         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1709 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1711         PR libstdc++/56012
1712         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
1713         * testsuite/29_atomics/atomic/operators/56012.cc: New.
1715         PR libstdc++/56011
1716         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
1717         missing overload.
1718         * testsuite/29_atomics/atomic/operators/56011.cc: New.
1720 2013-02-25  Jason Merrill  <jason@redhat.com>
1722         * configure.ac: Check for __cxa_thread_atexit_impl.
1723         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
1724         to it if available.
1725         * config.h.in, configure: Regenerate.
1727 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1729         * include/std/streambuf (basic_streambuf): Use injected class name
1730         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
1731         group.
1733 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1735         * doc/html/faq.html: Fix spelling.
1736         * doc/xml/faq.xml: Likewise.
1737         * include/bits/basic_ios.h: Likewise.
1738         * include/bits/regex.h: Likewise.
1739         * include/std/istream: Likewise.
1740         * include/std/streambuf: Likewise.
1742 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1744         * testsuite/23_containers/unordered_set/55043.cc: Add missing
1745         namespace qualification.
1746         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1748 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
1750         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
1751         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
1752         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
1753         * include/bits/stl_pair.h: Add to utilities group.
1754         * include/std/tuple: Same.
1755         * include/std/typeindex: Same.
1757         * include/bits/stringfwd.h: Fix markup.
1758         * include/std/limits: Same.
1759         * include/std/type_traits: Same.
1760         * include/tr1/memory: Same.
1761         * include/tr1/regex: Same.
1762         * scripts/run_doxygen: Comment.
1763         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
1765 2013-02-14  Jason Merrill  <jason@redhat.com>
1767         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
1768         test if unsupported.
1770 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
1772         PR libstdc++/56111
1773         * include/std/complex (complex): Undefine.
1774         * include/c_compatibility/complex.h (complex): Only undefine if
1775         <complex> has been included.
1776         * testsuite/26_numerics/complex/56111.cc: New testcase.
1778 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
1780         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
1781         default constructor protected.
1782         * include/bits/hashtable.h: static assert that _Hash_code_base has
1783         a default constructor available through inheritance.
1785 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
1787         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
1788         C++11 mode.
1790 2013-02-12  Julian Brown  <julian@codesourcery.com>
1792         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
1793         Don't expect dots after abbreviated weekday names for ru_RU for
1794         glibc versions >= 2.17.
1795         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
1796         Likewise.
1798 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
1800         * include/bits/random.tcc (__transform): Remove.
1801         (__normalize): Add.
1802         (discrete_distribution<>::param_type::_M_initialize): Adjust.
1803         (piecewise_constant_distribution<>::param_type::_M_initialize):
1804         Likewise.
1805         (piecewise_linear_distribution<>::param_type::_M_initialize):
1806         Likewise.
1808 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1810         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
1811         Use -fimplicit-templates.
1812         * src/c++11/Makefile.in: Regenerate.
1813         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
1814         std::lower_bound template.
1816 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1818         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
1819         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
1820         in C++11 mode and if available in the underlying C library.
1821         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
1822         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
1823         _GLIBCXX_HAVE_QUICK_EXIT.
1825 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1827         * doc/html/*: Regenerate.
1829 2013-02-11  Jason Merrill  <jason@redhat.com>
1831         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
1832         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
1833         * config.h.in, configure: Regenerate.
1834         * include/c_std/cstdlib: Add atexit and at_quick_exit.
1835         * include/c_global/cstdlib: Add atexit and at_quick_exit.
1836         * testsuite/18_support/quick_exit/quick_exit.cc: New.
1838 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1840         PR libstdc++/56282
1841         Revert:
1842         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
1844         PR libstdc++/56193
1845         * include/bits/basic_ios.h: Replace operator void*() const
1846         with explicit operator bool() const in C++11 and greater.
1847         * testsuite/27_io/basic_ios/pr56193.cc: New file.
1849 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
1850             Jonathan Wakely  <jwakely.gcc@gmail.com>
1852         * doc/xml/manual/containers.xml: Add section on unordered containers.
1853         * doc/xml/manual/using.xml: Fix incomplete sentence.
1855 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
1857         PR libstdc++/56267
1858         * include/bits/hashtable.h (__cache_default): Check if hash function
1859         is copy assignable.
1860         * testsuite/23_containers/unordered_set/56267.cc: New.
1861         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1862         dg-error line number.
1863         * testsuite/23_containers/unordered_set/
1864         not_default_constructible_hash_neg.cc: Likewise.
1866         PR libstdc++/56278
1867         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
1868         constructor public.
1869         * testsuite/23_containers/unordered_set/56278.cc: New.
1871 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
1873         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
1874         simplification.
1876 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
1878         PR libstdc++/56216
1879         * include/tr1/special_function_util.h: Remove spurious const
1880         from numeric arguments.
1881         * include/tr1/riemann_zeta.tcc: Likewise.
1882         * include/tr1/exp_integral.tcc: Likewise.
1883         * include/tr1/bessel_function.tcc: Likewise.
1884         * include/tr1/hypergeometric.tcc: Likewise.
1885         * include/tr1/modified_bessel_func.tcc: Likewise.
1886         * include/tr1/poly_laguerre.tcc: Likewise.
1887         * include/tr1/gamma.tcc: Likewise.
1888         * include/tr1/legendre_function.tcc: Likewise.
1889         * include/tr1/poly_hermite.tcc: Likewise.
1890         * include/tr1/ell_integral.tcc: Likewise.
1891         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
1892         If argument is zero return function value.
1893         * testsuite/tr1/5_numerical_facilities/special_functions/
1894         08_cyl_bessel_i/pr56216.cc: New.
1896 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
1898         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
1900 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
1902         PR libstdc++/56193
1903         * include/bits/basic_ios.h: Replace operator void*() const
1904         with explicit operator bool() const in C++11 and greater.
1905         * testsuite/27_io/basic_ios/pr56193.cc: New file.
1907 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
1909         Add missing explicit instantiation for std::lower_bound template
1910         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
1911         missing instantiation for std::lower_bound template.
1913 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
1915         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
1916         * include/bits/basic_string.h: Specialize previous to mark
1917         std::hash for string types as slow.
1918         * include/bits/hashtable.h (__cache_default): Replace is_integral
1919         with __is_fast_hash.
1920         * src/c++11/hash_c++0x.cc: Add type_traits include.
1921         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1922         Adapt dg-error line number.
1923         * testsuite/23_containers/unordered_set/
1924         not_default_constructible_hash_neg.cc: Likewise.
1926 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1927             Paolo Carlini  <paolo.carlini@oracle.com>
1929         PR libstdc++/56202 (again)
1930         * include/bits/random.tcc (binomial_distribution<>::
1931         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
1932         in previous commit.
1934         * include/bits/random.h: Fix comment typo.
1936 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1937             Paolo Carlini  <paolo.carlini@oracle.com>
1939         PR libstdc++/56202
1940         * include/bits/random.tcc (binomial_distribution<>::
1941         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
1942         division by zero.
1944 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1946         Update copyright years.
1947         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
1948         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
1949         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
1950         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
1951         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
1952         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
1953         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
1954         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
1955         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
1956         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
1957         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
1958         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
1959         testsuite/29_atomics/atomic/cons/assign_neg.cc,
1960         testsuite/29_atomics/atomic/cons/copy_neg.cc,
1961         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
1962         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
1963         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
1964         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
1965         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1966         Update lines in dg error matches.
1968 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1970         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
1972 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
1974         * include/bits/hashtable_policy.h
1975         (_Prime_rehash_policy::_M_next_bkt)
1976         (_Prime_rehash_policy::_M_need_rehash): Move definition...
1977         * src/c++11/hashtable_c++0x.cc: ... here.
1978         * src/shared/hashtable-aux.cc: Remove c++config.h include.
1979         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
1980         symbols.
1982 2013-01-29  Jason Merrill  <jason@redhat.com>
1984         PR libstdc++/54314
1985         * config/abi/pre/gnu.ver: Don't export construction vtables.
1986         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1988 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1990         PR libstdc++/56112
1991         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
1992         to construct value_type explicitly before trying to extract the key.
1993         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
1995 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
1997         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
1998         _Hashtable_ebo_helper to embed functors into the local_iterator
1999         when necessary. Pass information about functors involved in hash
2000         code by copy.
2001         * include/bits/hashtable.h (__cache_default): Do not cache for
2002         builtin integral types unless the hash functor is not noexcept
2003         qualified or is not default constructible. Adapt static assertions
2004         and local iterator instantiations.
2005         * include/debug/unordered_set
2006         (std::__debug::unordered_set<>::erase): Detect local iterators to
2007         invalidate using contained node rather than generating a dummy
2008         local_iterator instance.
2009         (std::__debug::unordered_multiset<>::erase): Likewise.
2010         * include/debug/unordered_map
2011         (std::__debug::unordered_map<>::erase): Likewise.
2012         (std::__debug::unordered_multimap<>::erase): Likewise.
2013         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
2014         std::tr1 and std versions of unordered_set regardless of any
2015         macro. Add test on default cache behavior.
2016         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
2017         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2018         Adapt line number.
2019         * testsuite/23_containers/unordered_set/
2020         not_default_constructible_hash_neg.cc: New.
2021         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
2023 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
2025         PR libstdc++/56085
2026         * include/std/complex (pow(const complex<>&, int)): Avoid __n
2027         signed overflow.
2029 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
2031         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2032         Tightten scan-assembler-times regexps, add dg-additional-options for
2033         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
2034         dg-options.
2036 2013-01-12  Andi Kleen  <ak@linux.intel.com>
2037             Jonathan Wakely  <jwakely.gcc@gmail.com>
2039         PR libstdc++/55233
2040         * include/bits/atomic_base.h (__memory_order_modifier): Add
2041         __memory_order_mask, __memory_order_modifier_mask,
2042         __memory_order_hle_acquire, __memory_order_hle_release.
2043         (operator|,operator&): Add.
2044         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
2045         (__cmpexch_failure_order): Add.
2046         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
2047         Handle flags.
2048         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2049         Add.
2051 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
2053         PR libstdc++/55861
2054         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
2055         Fix return type.
2056         (__basic_future::_M_get_result()): Const qualify.
2057         (shared_future::get()): Likewise.
2058         * testsuite/30_threads/shared_future/members/get.cc: Use const
2059         objects.
2061 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2063         PR libstdc++/55043 (again)
2064         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
2065         unless construction would be well-formed.
2066         (__allow_copy_cons, __check_copy_constructible): Define.
2067         * include/bits/unordered_map.h (__check_copy_constructible): Use as
2068         base class so copy constructor will be deleted if appropriate.
2069         (is_copy_constructible): Remove specialization.
2070         * include/bits/unordered_set.h: Likewise.
2071         * include/debug/unordered_map.h: Undo previous commit. Default copy
2072         and move constructors.
2073         * include/debug/unordered_set.h: Likewise.
2074         * include/profile/unordered_map.h: Undo previous commit.
2075         * include/profile/unordered_set.h: Likewise.
2076         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
2077         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
2078         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2079         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
2080         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
2081         cannot support incomplete types.
2082         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
2083         Likewise.
2085 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2087         PR libstdc++/55043
2088         * include/std/unordered_map: Include alloc_traits.h
2089         * include/std/unordered_set: Likewise.
2090         * include/bits/alloc_traits.h: Define __is_copy_insertable.
2091         * include/bits/unordered_map.h: Use it.
2092         * include/bits/unordered_set.h: Likewise.
2093         * include/debug/unordered_map.h: Likewise.
2094         * include/debug/unordered_set.h: Likewise.
2095         * include/profile/unordered_map.h: Likewise.
2096         * include/profile/unordered_set.h: Likewise.
2097         * include/bits/hashtable.h: Fix comment typos.
2098         * testsuite/23_containers/unordered_map/55043.cc: New.
2099         * testsuite/23_containers/unordered_multimap/55043.cc: New.
2100         * testsuite/23_containers/unordered_multiset/55043.cc: New.
2101         * testsuite/23_containers/unordered_set/55043.cc: New.
2103 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
2105         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
2106         gdb command.
2108 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2110         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
2112 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2114         PR libstdc++/55908
2115         * include/std/functional (_Mem_fn::operator()): Fix constraints to
2116         avoid ambiguity.
2117         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
2118         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
2120 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2122         PR libstdc++/55594
2123         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
2124         Solaris targets.
2125         * configure: Regenerate.
2127 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2129         PR libstdc++/55847
2130         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
2131         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
2132         string.
2134         PR libstdc++/55728
2135         * include/std/functional (bad_function_call::what()): Declare.
2136         * src/c++11/functional.cc (bad_function_call::what()): Define.
2137         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
2138         * testsuite/20_util/bad_function_call/what.cc: New.
2140 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2142         * include/bits/unordered_map.h: Fix typo in comments.
2143         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
2144         counts for unordered associative containers.
2146 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2148         * doc/xml/manual/abi.xml: Update library and symbol versions.
2150 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2152         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
2153         in copyright years.
2154         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2157 Copyright (C) 2013 Free Software Foundation, Inc.
2159 Copying and distribution of this file, with or without modification,
2160 are permitted in any medium without royalty provided the copyright
2161 notice and this notice are preserved.