2013-05-15 François Dumont <fdumont@gcc.gnu.org>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobe22b63e8dee9b39f4f59bf86c177fb9bae8091fa
1 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
3         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
4         rendering of std::tr1 unordered containers iterator.
5         (StdHashtableIterator): New, render std unordered containers iterator.
6         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
8 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
10         * include/bits/basic_string.h (getline): Fix doxygen comments.
12 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
14         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
15         Use std::pointer_traits.
17 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
19         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
20         bad_array_new.cc.
21         * libsupc++/Makefile.in: Regenerate.
22         * libsupc++/bad_array_length.cc: Tweak.
23         * libsupc++/bad_array_new.cc: Tweak.
25 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
27         PR libstdc++/54577
28         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
29         (_Deque_iterator<>::_M_const_cast): Add.
30         (deque<>::_M_erase): Declare.
31         * include/bits/deque.tcc: ... and define.
32         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
33         (_List_const_iterator<>::_M_const_cast): Add.
34         * include/bits/list.tcc (erase (iterator)): Fix.
35         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
36         Add; include <ext/cast.h>.
37         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
38         (vector<>::_M_erase): Declare.
39         * include/bits/stl_bvector.h: Likewise.
40         * include/bits/vector.tcc (vector<>::_M_erase): Define.
41         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
42         * include/debug/deque: Adjust.
43         * include/debug/list: Likewise.
44         * include/debug/vector: Likewise.
45         * include/profile/deque: Likewise.
46         * include/profile/list: Likewise.
47         * include/profile/vector: Likewise.
48         * testsuite/util/exception/safety.h (erase_base<deque>,
49         erase_base<deque>, erase_base<vector>): Remove.
50         (erase_base<__versa_string>): Update.
51         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
52         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
53         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
54         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
55         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
56         Likewise.
57         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
58         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
59         Adjust dg-error line numbers.
60         * testsuite/23_containers/deque/requirements/dr438/
61         constructor_1_neg.cc: Likewise.
62         * testsuite/23_containers/deque/requirements/dr438/
63         constructor_2_neg.cc: Likewise.
64         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
65         Likewise.
66         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
67         Likewise.
68         * testsuite/23_containers/list/requirements/dr438/
69         constructor_1_neg.cc: Likewise.
70         * testsuite/23_containers/list/requirements/dr438/
71         constructor_2_neg.cc: Likewise.
72         * testsuite/23_containers/list/requirements/dr438/
73         insert_neg.cc: Likewise.
74         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
75         Likewise.
76         * testsuite/23_containers/vector/requirements/dr438/
77         constructor_1_neg.cc: Likewise.
78         * testsuite/23_containers/vector/requirements/dr438/
79         constructor_2_neg.cc: Likewise.
80         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
81         Likewise.
83 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
85         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
87 2013-05-08  Jason Merrill  <jason@redhat.com>
89         Add std::bad_array_length (N3639)
90         * libsupc++/new: Add std::bad_array_length.
91         * libsupc++/bad_array_length.cc: New.
92         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
93         * libsupc++/Makefile.in: Build them.
94         * config/abi/pre/gnu.ver: Add new symbols.
95         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
97 2013-05-08  Andi Kleen  <ak@linux.intel.com>
99         PR target/55947
100         * libstdc++-v3/include/bits/atomic_base.h
101         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
102         (atomic_thread_fence, atomic_signal_fence, test_and_set,
103         clear, store, load, exchange, compare_exchange_weak)
104         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
105         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
107 2013-05-08  Jason Merrill  <jason@redhat.com>
109         Add std::bad_array_new_length (N2932)
110         * libsupc++/new: Add std::bad_array_new_length.
111         * libsupc++/bad_array_new.cc: New.
112         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
113         * libsupc++/Makefile.in: Build them.
114         * config/abi/pre/gnu.ver: Add new symbols.
115         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
117 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
119         PR libstdc++/57212
120         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
121         to __MINGW32__.
122         * include/Makefile.in: Regenerated.
124 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
126         * include/profile/unordered_base.h: New.
127         * include/Makefile.am: Add new profile header.
128         * include/Makefile.in: Regenerate.
129         * include/profile/impl/profiler.h
130         (__profcxx_inefficient_hash_is_on): New macro.
131         * include/profile/unordered_map (std::profile::unordered_map<>):
132         Use new _Unordered_profile base class. Use default implementations
133         for special functions.
134         (std::profile::unordered_multimap<>): Likewise.
135         * include/profile/unordered_set (std::profile::unordered_set<>):
136         Likewise.
137         (std::profile::unordered_multiset<>): Likewise.
138         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
139         MoveOnly equality operator signature.
141 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
143         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
144         constexpr_data.cc: Move...
145         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
146         ... here.
147         * testsuite/20_util/integral_constant/requirements/
148         explicit_instantiation.cc: New.
149         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
150         Likewise.
151         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
152         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
153         Likewise.
154         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
155         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
157 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
159         * include/std/type_traits (is_null_pointer): Add.
160         (__is_nullptr_t): Implement in terms of the latter.
161         (is_fundamental, is_scalar): Adjust.
162         * testsuite/20_util/is_null_pointer/requirements/
163         explicit_instantiation.cc: New.
164         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
165         Likewise.
166         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
167         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
168         line number.
169         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
170         Likewise.
171         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
172         Likewise.
174 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
176         * include/c_global/cstdio: Add comment about LWG 2249.
177         * include/c_std/cstdio: Likewise.
179 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
181         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
182         comment.
183         * include/std/mutex (__recursive_mutex_base): Likewise.
185 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
187         PR libstdc++/51365
188         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
189         implement EBO safely.
190         (_Sp_counted_base::_M_get_deleter): Add noexcept.
191         (_Sp_counter_ptr): Use noexcept instead of comments.
192         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
193         (_Sp_counted_ptr_inplace): Likewise.
194         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
195         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
196         custom allocator and test construction with custom allocator.
197         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
198         line number.
200 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
202         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
203         dialect to -std=gnu++11.
205 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
207         * include/bits/hashtable_policy.h
208         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
209         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
211 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
213         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
214         * include/c_std/cstdio (gets): Likewise.
215         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
217 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
219         PR libstdc++/57065
220         * include/debug/unordered_map (unordered_map, unordered_multimap):
221         Fix default allocator type.
222         * include/profile/unordered_map (unordered_map, unordered_multimap):
223         Likewise.
224         * include/bits/unordered_map.h: Fix comments.
226 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
228         PR libstdc++/56905
229         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
230         move implementation to make_exception_ptr.
231         * include/std/future (_State_base::_M_break_promise): Replace
232         copy_exception with make_exception_ptr.
233         * testsuite/18_support/exception_ptr/move.cc: Likewise.
234         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
235         * testsuite/30_threads/future/members/get2.cc: Likewise.
236         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
237         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
238         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
239         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
241 2013-04-22  Jason Merrill  <jason@redhat.com>
243         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
245         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
246         substitution" lines.
248         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
249         function-cv-quals.
250         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
251         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
252         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
254 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
256         * include/bits/hashtable_policy.h: Add C++11 allocator support.
257         * include/bits/hashtable.h: Likewise.
258         * include/bits/unordered_set.h: Likewise.
259         * include/bits/unordered_map.h: Likewise.
260         * include/debug/unordered_set: Likewise.
261         * include/debug/unordered_map: Likewise.
262         * include/std/unordered_set: Remove bits/algobase.h
263         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
264         * include/std/unordered_map: Likewise.
265         * include/ext/throw_allocator.h: Add checks on calls to allocator
266         construct/destroy.
267         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
268         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
269         * testsuite/util/regression/rand/priority_queue
270         /container_rand_regression_test.tcc: Adapt.
271         * testsuite/util/regression/rand/assoc
272         /container_rand_regression_test.tcc: Likewise.
273         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
274         * testsuite/23_containers/unordered_set
275         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
276         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
277         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
278         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
279         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
280         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
281         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
282         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
283         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
284         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
285         New.
286         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
287         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
288         New.
289         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
290         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
291         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
292         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
293         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
294         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
295         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
296         New.
297         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
298         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
299         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
300         New.
301         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
302         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
303         New.
304         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
305         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
307 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
309         * include/std/type_traits (is_signed): Simplify.
310         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
311         Adjust dg-error line numbers.
312         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
313         Likewise.
314         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
316 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
318         N3669
319         * include/std/complex (complex<float>::real, complex<float>::imag,
320         complex<double>::real, complex<double>::imag,
321         complex<long double>::real, complex<long double>::imag): Declare
322         as const member functions.
323         * include/std/type_traits (integral_constant<>::operator value_type):
324         Likewise.
326 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
328         PR libstdc++/57010
329         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
330         * testsuite/25_algorithms/pop_heap/57010.cc: New.
332 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
334         * src/c++11/system_error.cc (generic_category_instance): Add
335         initializer.
336         (system_category_instance): Likewise.
337         * src/c++11/future.cc (__fec): Likewise.
339 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
341         * doc/xml/manual/extensions.xml: Fix anachronism.
343 2013-04-09  Tom Tromey  <tromey@redhat.com>
345         * configure, config.h.in: Rebuild.
346         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
347         sys/sdt.h.
348         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
350 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
352         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
354 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
356         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
358 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
360         * include/Makefile.am: Add ext/aligned_buffer.h
361         * include/Makefile.in: Regenerate.
362         * include/ext/aligned_buffer.h: New.
363         * include/std/future (_Result): Use __aligned_buffer.
364         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
365         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
366         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
367         number.
369 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
371         * include/bits/forward_list.h: Only include required headers.
372         (forward_list::reference): Define directly, not using __alloc_traits.
373         (forward_list::const_reference): Likewise.
375 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
377         * include/std/functional (_Derives_from_unary_function): Remove.
378         (_Derives_from_binary_function): Remove.
379         * include/std/type_traits (__sfinae_types): Remove.
380         (__is_assignable_helper): Adapt.
381         (__is_convertible_helper): Adapt.
382         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
383         Remove several explicit instantiations of integral_constant.
384         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
385         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
386         Adapt dg-error line number.
387         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
388         Likewise.
389         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
390         * testsuite/20_util/bind/ref_neg.cc: Likewise.
392 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
394         PR libstdc++/56841
395         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
396         get_terminate() accessors.
397         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
398         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
399         available.
400         * libsupc++/new_handler.cc: Likewise.
402 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
404         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
406 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
408         PR libstdc++/56834
409         * include/debug/array (tuple_size, tuple_element): Do not declare.
410         * include/profile/array: Likewise.
411         * testsuite/23_containers/array/tuple_interface/
412         tuple_element_debug_neg.cc: Adjust dg-error line number.
414 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
416         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
417         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
418         Define.
419         (set_terminate(terminate_handler)): Set atomically.
420         (set_unexpected(terminate_handler)): Likewise.
421         * libsupc++/new (get_new_handler()): Declare.
422         * libsupc++/new_handler.cc (get_new_handler()): Define.
423         (set_new_handler(new_handler)): Set atomically.
424         (__new_handler): Use internal linkage.
425         * libsupc++/new_op.cc (operator new): Use get_new_handler().
426         * libsupc++/new_opnt.cc (operator new): Likewise.
427         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
428         * configure: Regenerate.
429         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
430         * libsupc++/Makefile.in: Regenerate.
431         * config/abi/pre/gnu.ver: Add new exports.
432         * doc/xml/manual/status_cxx2011.xml: Update.
433         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
434         for handlers.
435         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
436         * testsuite/18_support/new_handler.cc: New.
437         * testsuite/18_support/terminate_handler.cc: New.
438         * testsuite/18_support/unexpected_handler.cc: New.
440 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
442         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
443         defer to general documentation on contributing to GCC.
444         * doc/html/*: Regenerate.
446 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
448         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
450         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
451         Coding Standards.
453         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
455         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
457         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
459         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
461         * doc/xml/manual/policy_data_structures: Remove direct link to
462         IBM Haifa Research Labs.
464         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
465         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
467         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
468         papers.
470         * doc/xml/manual/shared_ptr.xml: Use canonical address for
471         www.boost.org.
473 2013-03-27  Kai Tietz  <ktietz@redhat.com>
475         * crossconfig.m4: Add support for cygwin x64 target.
476         * configure: Regenerated.
478 2013-03-25  Kai Tietz  <ktietz@redhat.com>
480         * testsuite/18_support/50594.cc: For mingw-targets use only static
481         libstdc++-version.
482         * testsuite/19_diagnostics/error_category/operators/equal.cc
483         * testsuite/19_diagnostics/error_code/cons/1.cc
484         * testsuite/19_diagnostics/error_code/operators/bool.cc
485         * testsuite/19_diagnostics/error_code/operators/equal.cc
486         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
487         * testsuite/19_diagnostics/error_condition/cons/1.cc
488         * testsuite/19_diagnostics/error_condition/operators/bool.cc
489         * testsuite/19_diagnostics/error_condition/operators/equal.cc
490         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
491         * testsuite/23_containers/set/requirements/exception/basic.cc
492         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
493         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
495 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
497         PR libstdc++/56170
498         * include/ext/debug_allocator.h (debug_allocator): Add missing members
499         to meet allocator requirements.
500         * testsuite/ext/debug_allocator/56170.cc: New.
502 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
504         PR libstdc++/56678
505         * include/std/chrono (__is_ratio): Uglify T.
507 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
509         PR libstdc++/55977 (partial, std::vector and std::deque bits)
510         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
511         _InputIterator, std::input_iterator_tag)): Use emplace_back.
512         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
513         _InputIterator, std::input_iterator_tag)): Likewise.
514         * testsuite/23_containers/vector/cons/55977.cc: New.
515         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
516         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
517         Adjust dg-error line number.
518         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
519         Likewise.
521 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
523         PR libstdc++/55979
524         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
525         _InputIterator, __false_type)): Use emplace_back.
526         * testsuite/23_containers/list/cons/55979.cc: New.
527         * testsuite/23_containers/list/modifiers/1.h: Adjust.
528         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
529         Adjust dg-error line number.
531 2013-03-16  Jason Merrill  <jason@redhat.com>
533         PR c++/55017
534         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
536 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
538         PR libstdc++/56468
539         * libsupc++/exception_ptr.h (type_info): Declare.
541 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
543         PR libstdc++/56002
544         * include/std/mutex (lock_guard, unique_lock, lock): Define without
545         depending on _GLIBCXX_HAS_GTHREADS.
546         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
548 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
550         PR libstdc++/56492
551         * include/std/future (__future_base::_Result): Add result_type
552         typedef.
553         (__future_base::_S_allocate_result): Overload for std::allocator.
554         (__future_base::_Task_setter): Use _Result::result_type instead of
555         deducing the type from the task.
556         (__future_base::_Task_state): Store allocator to allow shared state
557         to be reset.  Replace std::function with member of target object type
558         accessed via ...
559         (__future_base::_Task_state_base): New abstract base class.
560         (__future_base::_Task_state_base::_M_run): New virtual function to
561         invoke type-erased target object.
562         (__future_base::_Task_state_base::_M_reset): New virtual function to
563         create new shared_state using same target object and allocator.
564         (__future_base::__create_task_state): Allocate a new _Task_state.
565         (packaged_task::packaged_task): Use __create_task_state.
566         (packaged_task::reset): Use _Task_state_base::_M_reset.
567         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
569 2013-03-15  Tom Tromey  <tromey@redhat.com>
571         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
572         (PROBE2): New macro.
573         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
574         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
575         * configure.ac: Check for sys/sdt.h.
576         * configure, config.h.in: Rebuild.
578 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
580         PR libstdc++/56613
581         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
582         allocator_traits instead of calling construct directly.
583         * testsuite/23_containers/map/56613.cc: New.
585 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
587         * doc/html/*: Regenerate.
589 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
591         PR libstdc++/56609
592         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
593         * testsuite/20_util/is_fundamental/value.cc: Extend.
594         * testsuite/20_util/is_compound/value.cc: Likewise.
596 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
598         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
599         -Wunused warnings.
601 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
603         * include/bits/memoryfwd.h: New. Centralize forward declarations.
604         * include/bits/algorithmfwd.h: Consistent comments.
605         * include/bits/localefwd.h: Same.
606         * include/ext/vstring_fwd.h: Same.
607         * include/parallel/algorithmfwd.h: Same.
608         * include/parallel/numericfwd.h: Same.
609         * include/std/iosfwd: Same.
611         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
612         forward decl.
613         * include/ext/alloc_traits.h: Remove allocator forward decl.
614         * include/bits/stl_construct.h: Same.
615         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
616         forward decl. Consistent comments.
618         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
620         * include/Makefile.am (bits_headers): Add memoryfwd.h.
621         * include/Makefile.in: Regenerate.
622         * configure: Same.
624 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
626         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
627         Reset pointers after deallocation when memory can be reused.
628         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
629         elements to really challenge C++11 allocator integration.
630         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
631         * testsuite/23_containers/vector/allocator/copy_assign.cc:
632         Likewise.
633         * testsuite/23_containers/vector/allocator/move_assign.cc:
634         Likewise.
635         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
636         swap vector back before checks on memory/personality mapping are
637         performed.
638         * testsuite/23_containers/forward_list/allocator/minimal.cc:
639         Insert element to really challenge C++11 allocator integration.
640         * testsuite/23_containers/forward_list/allocator/copy.cc:
641         Likewise.
642         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
643         Likewise.
644         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
645         Likewise.
646         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
647         and swap forward_list back before checks on memory/personality
648         mapping are performed.
650 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
652         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
653         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
654         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
655         Likewise.
656         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
657         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
658         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
659         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
660         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
661         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
663 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
665         * scripts/extract_symvers.pl: Omit symbols bound to base
666         versions.
667         * scripts/extract_symvers.in: Likewise.
668         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
669         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
670         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
671         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
672         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
674 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
676         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
677         Optimize generation function by pulling computation of __r into the
678         constructor for param_type.  Also compare _M_mu in operator==.
679         Fix comment.
681 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
683         Add triangular and von Mises distributions.
684         * include/ext/random: Include <ext/cmath>.
685         Add __gnu_cxx::triangular_distribution<> and
686         __gnu_cxx::von_mises_distribution<> classes.
687         * include/ext/random.tcc: Add out-of-line functions for
688         __gnu_cxx::triangular_distribution<> and
689         __gnu_cxx::von_mises_distribution<>.
690         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
691         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
692         * testsuite/ext/triangular_distribution/operators/serialize.cc:
693         New file.
694         * testsuite/ext/triangular_distribution/operators/equal.cc:
695         New file.
696         * testsuite/ext/triangular_distribution/operators/inequal.cc:
697         New file.
698         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
699         New file.
700         * testsuite/ext/triangular_distribution/requirements/
701         explicit_instantiation/1.cc: New file.
702         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
703         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
704         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
705         New file.
706         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
707         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
708         New file.
709         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
710         New file.
711         * testsuite/ext/von_mises_distribution/requirements/
712         explicit_instantiation/1.cc: New file.
714         Add math constants.
715         * include/Makefile.am (ext_headers): Add cmath.
716         * include/Makefile.in: Regenerated.
717         * include/ext/cmath: New file.
719 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
721         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
722         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
723         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
724         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
725         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
727 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
729         PR libstdc++/56012
730         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
731         * testsuite/29_atomics/atomic/operators/56012.cc: New.
733         PR libstdc++/56011
734         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
735         missing overload.
736         * testsuite/29_atomics/atomic/operators/56011.cc: New.
738 2013-02-25  Jason Merrill  <jason@redhat.com>
740         * configure.ac: Check for __cxa_thread_atexit_impl.
741         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
742         to it if available.
743         * config.h.in, configure: Regenerate.
745 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
747         * include/std/streambuf (basic_streambuf): Use injected class name
748         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
749         group.
751 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
753         * doc/html/faq.html: Fix spelling.
754         * doc/xml/faq.xml: Likewise.
755         * include/bits/basic_ios.h: Likewise.
756         * include/bits/regex.h: Likewise.
757         * include/std/istream: Likewise.
758         * include/std/streambuf: Likewise.
760 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
762         * testsuite/23_containers/unordered_set/55043.cc: Add missing
763         namespace qualification.
764         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
766 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
768         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
769         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
770         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
771         * include/bits/stl_pair.h: Add to utilities group.
772         * include/std/tuple: Same.
773         * include/std/typeindex: Same.
775         * include/bits/stringfwd.h: Fix markup.
776         * include/std/limits: Same.
777         * include/std/type_traits: Same.
778         * include/tr1/memory: Same.
779         * include/tr1/regex: Same.
780         * scripts/run_doxygen: Comment.
781         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
783 2013-02-14  Jason Merrill  <jason@redhat.com>
785         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
786         test if unsupported.
788 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
790         PR libstdc++/56111
791         * include/std/complex (complex): Undefine.
792         * include/c_compatibility/complex.h (complex): Only undefine if
793         <complex> has been included.
794         * testsuite/26_numerics/complex/56111.cc: New testcase.
796 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
798         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
799         default constructor protected.
800         * include/bits/hashtable.h: static assert that _Hash_code_base has
801         a default constructor available through inheritance.
803 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
805         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
806         C++11 mode.
808 2013-02-12  Julian Brown  <julian@codesourcery.com>
810         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
811         Don't expect dots after abbreviated weekday names for ru_RU for
812         glibc versions >= 2.17.
813         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
814         Likewise.
816 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
818         * include/bits/random.tcc (__transform): Remove.
819         (__normalize): Add.
820         (discrete_distribution<>::param_type::_M_initialize): Adjust.
821         (piecewise_constant_distribution<>::param_type::_M_initialize):
822         Likewise.
823         (piecewise_linear_distribution<>::param_type::_M_initialize):
824         Likewise.
826 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
828         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
829         Use -fimplicit-templates.
830         * src/c++11/Makefile.in: Regenerate.
831         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
832         std::lower_bound template.
834 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
836         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
837         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
838         in C++11 mode and if available in the underlying C library.
839         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
840         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
841         _GLIBCXX_HAVE_QUICK_EXIT.
843 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
845         * doc/html/*: Regenerate.
847 2013-02-11  Jason Merrill  <jason@redhat.com>
849         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
850         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
851         * config.h.in, configure: Regenerate.
852         * include/c_std/cstdlib: Add atexit and at_quick_exit.
853         * include/c_global/cstdlib: Add atexit and at_quick_exit.
854         * testsuite/18_support/quick_exit/quick_exit.cc: New.
856 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
858         PR libstdc++/56282
859         Revert:
860         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
862         PR libstdc++/56193
863         * include/bits/basic_ios.h: Replace operator void*() const
864         with explicit operator bool() const in C++11 and greater.
865         * testsuite/27_io/basic_ios/pr56193.cc: New file.
867 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
868             Jonathan Wakely  <jwakely.gcc@gmail.com>
870         * doc/xml/manual/containers.xml: Add section on unordered containers.
871         * doc/xml/manual/using.xml: Fix incomplete sentence.
873 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
875         PR libstdc++/56267
876         * include/bits/hashtable.h (__cache_default): Check if hash function
877         is copy assignable.
878         * testsuite/23_containers/unordered_set/56267.cc: New.
879         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
880         dg-error line number.
881         * testsuite/23_containers/unordered_set/
882         not_default_constructible_hash_neg.cc: Likewise.
884         PR libstdc++/56278
885         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
886         constructor public.
887         * testsuite/23_containers/unordered_set/56278.cc: New.
889 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
891         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
892         simplification.
894 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
896         PR libstdc++/56216
897         * include/tr1/special_function_util.h: Remove spurious const
898         from numeric arguments.
899         * include/tr1/riemann_zeta.tcc: Likewise.
900         * include/tr1/exp_integral.tcc: Likewise.
901         * include/tr1/bessel_function.tcc: Likewise.
902         * include/tr1/hypergeometric.tcc: Likewise.
903         * include/tr1/modified_bessel_func.tcc: Likewise.
904         * include/tr1/poly_laguerre.tcc: Likewise.
905         * include/tr1/gamma.tcc: Likewise.
906         * include/tr1/legendre_function.tcc: Likewise.
907         * include/tr1/poly_hermite.tcc: Likewise.
908         * include/tr1/ell_integral.tcc: Likewise.
909         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
910         If argument is zero return function value.
911         * testsuite/tr1/5_numerical_facilities/special_functions/
912         08_cyl_bessel_i/pr56216.cc: New.
914 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
916         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
918 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
920         PR libstdc++/56193
921         * include/bits/basic_ios.h: Replace operator void*() const
922         with explicit operator bool() const in C++11 and greater.
923         * testsuite/27_io/basic_ios/pr56193.cc: New file.
925 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
927         Add missing explicit instantiation for std::lower_bound template
928         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
929         missing instantiation for std::lower_bound template.
931 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
933         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
934         * include/bits/basic_string.h: Specialize previous to mark
935         std::hash for string types as slow.
936         * include/bits/hashtable.h (__cache_default): Replace is_integral
937         with __is_fast_hash.
938         * src/c++11/hash_c++0x.cc: Add type_traits include.
939         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
940         Adapt dg-error line number.
941         * testsuite/23_containers/unordered_set/
942         not_default_constructible_hash_neg.cc: Likewise.
944 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
945             Paolo Carlini  <paolo.carlini@oracle.com>
947         PR libstdc++/56202 (again)
948         * include/bits/random.tcc (binomial_distribution<>::
949         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
950         in previous commit.
952         * include/bits/random.h: Fix comment typo.
954 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
955             Paolo Carlini  <paolo.carlini@oracle.com>
957         PR libstdc++/56202
958         * include/bits/random.tcc (binomial_distribution<>::
959         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
960         division by zero.
962 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
964         Update copyright years.
965         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
966         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
967         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
968         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
969         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
970         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
971         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
972         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
973         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
974         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
975         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
976         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
977         testsuite/29_atomics/atomic/cons/assign_neg.cc,
978         testsuite/29_atomics/atomic/cons/copy_neg.cc,
979         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
980         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
981         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
982         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
983         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
984         Update lines in dg error matches.
986 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
988         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
990 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
992         * include/bits/hashtable_policy.h
993         (_Prime_rehash_policy::_M_next_bkt)
994         (_Prime_rehash_policy::_M_need_rehash): Move definition...
995         * src/c++11/hashtable_c++0x.cc: ... here.
996         * src/shared/hashtable-aux.cc: Remove c++config.h include.
997         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
998         symbols.
1000 2013-01-29  Jason Merrill  <jason@redhat.com>
1002         PR libstdc++/54314
1003         * config/abi/pre/gnu.ver: Don't export construction vtables.
1004         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1006 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1008         PR libstdc++/56112
1009         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
1010         to construct value_type explicitly before trying to extract the key.
1011         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
1013 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
1015         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
1016         _Hashtable_ebo_helper to embed functors into the local_iterator
1017         when necessary. Pass information about functors involved in hash
1018         code by copy.
1019         * include/bits/hashtable.h (__cache_default): Do not cache for
1020         builtin integral types unless the hash functor is not noexcept
1021         qualified or is not default constructible. Adapt static assertions
1022         and local iterator instantiations.
1023         * include/debug/unordered_set
1024         (std::__debug::unordered_set<>::erase): Detect local iterators to
1025         invalidate using contained node rather than generating a dummy
1026         local_iterator instance.
1027         (std::__debug::unordered_multiset<>::erase): Likewise.
1028         * include/debug/unordered_map
1029         (std::__debug::unordered_map<>::erase): Likewise.
1030         (std::__debug::unordered_multimap<>::erase): Likewise.
1031         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
1032         std::tr1 and std versions of unordered_set regardless of any
1033         macro. Add test on default cache behavior.
1034         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
1035         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1036         Adapt line number.
1037         * testsuite/23_containers/unordered_set/
1038         not_default_constructible_hash_neg.cc: New.
1039         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
1041 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
1043         PR libstdc++/56085
1044         * include/std/complex (pow(const complex<>&, int)): Avoid __n
1045         signed overflow.
1047 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
1049         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1050         Tightten scan-assembler-times regexps, add dg-additional-options for
1051         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
1052         dg-options.
1054 2013-01-12  Andi Kleen  <ak@linux.intel.com>
1055             Jonathan Wakely  <jwakely.gcc@gmail.com>
1057         PR libstdc++/55233
1058         * include/bits/atomic_base.h (__memory_order_modifier): Add
1059         __memory_order_mask, __memory_order_modifier_mask,
1060         __memory_order_hle_acquire, __memory_order_hle_release.
1061         (operator|,operator&): Add.
1062         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
1063         (__cmpexch_failure_order): Add.
1064         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
1065         Handle flags.
1066         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1067         Add.
1069 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1071         PR libstdc++/55861
1072         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
1073         Fix return type.
1074         (__basic_future::_M_get_result()): Const qualify.
1075         (shared_future::get()): Likewise.
1076         * testsuite/30_threads/shared_future/members/get.cc: Use const
1077         objects.
1079 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1081         PR libstdc++/55043 (again)
1082         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
1083         unless construction would be well-formed.
1084         (__allow_copy_cons, __check_copy_constructible): Define.
1085         * include/bits/unordered_map.h (__check_copy_constructible): Use as
1086         base class so copy constructor will be deleted if appropriate.
1087         (is_copy_constructible): Remove specialization.
1088         * include/bits/unordered_set.h: Likewise.
1089         * include/debug/unordered_map.h: Undo previous commit. Default copy
1090         and move constructors.
1091         * include/debug/unordered_set.h: Likewise.
1092         * include/profile/unordered_map.h: Undo previous commit.
1093         * include/profile/unordered_set.h: Likewise.
1094         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
1095         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
1096         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1097         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
1098         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
1099         cannot support incomplete types.
1100         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1101         Likewise.
1103 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1105         PR libstdc++/55043
1106         * include/std/unordered_map: Include alloc_traits.h
1107         * include/std/unordered_set: Likewise.
1108         * include/bits/alloc_traits.h: Define __is_copy_insertable.
1109         * include/bits/unordered_map.h: Use it.
1110         * include/bits/unordered_set.h: Likewise.
1111         * include/debug/unordered_map.h: Likewise.
1112         * include/debug/unordered_set.h: Likewise.
1113         * include/profile/unordered_map.h: Likewise.
1114         * include/profile/unordered_set.h: Likewise.
1115         * include/bits/hashtable.h: Fix comment typos.
1116         * testsuite/23_containers/unordered_map/55043.cc: New.
1117         * testsuite/23_containers/unordered_multimap/55043.cc: New.
1118         * testsuite/23_containers/unordered_multiset/55043.cc: New.
1119         * testsuite/23_containers/unordered_set/55043.cc: New.
1121 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
1123         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
1124         gdb command.
1126 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1128         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
1130 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1132         PR libstdc++/55908
1133         * include/std/functional (_Mem_fn::operator()): Fix constraints to
1134         avoid ambiguity.
1135         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
1136         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
1138 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1140         PR libstdc++/55594
1141         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
1142         Solaris targets.
1143         * configure: Regenerate.
1145 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1147         PR libstdc++/55847
1148         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
1149         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
1150         string.
1152         PR libstdc++/55728
1153         * include/std/functional (bad_function_call::what()): Declare.
1154         * src/c++11/functional.cc (bad_function_call::what()): Define.
1155         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
1156         * testsuite/20_util/bad_function_call/what.cc: New.
1158 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1160         * include/bits/unordered_map.h: Fix typo in comments.
1161         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
1162         counts for unordered associative containers.
1164 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1166         * doc/xml/manual/abi.xml: Update library and symbol versions.
1168 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
1170         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
1171         in copyright years.
1172         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
1175 Copyright (C) 2013 Free Software Foundation, Inc.
1177 Copying and distribution of this file, with or without modification,
1178 are permitted in any medium without royalty provided the copyright
1179 notice and this notice are preserved.