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