* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob537f7a3dc64af49874f53e2181e8d00ab67ac933
1 2013-02-11  Jason Merrill  <jason@redhat.com>
3         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
4         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
5         * config.h.in, configure: Regenerate.
6         * include/c_std/cstdlib: Add atexit and at_quick_exit.
7         * include/c_global/cstdlib: Add atexit and at_quick_exit.
8         * testsuite/18_support/quick_exit/quick_exit.cc: New.
10 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
12         PR libstdc++/56282
13         Revert:
14         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
16         PR libstdc++/56193
17         * include/bits/basic_ios.h: Replace operator void*() const
18         with explicit operator bool() const in C++11 and greater.
19         * testsuite/27_io/basic_ios/pr56193.cc: New file.
21 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
22             Jonathan Wakely  <jwakely.gcc@gmail.com>
24         * doc/xml/manual/containers.xml: Add section on unordered containers.
25         * doc/xml/manual/using.xml: Fix incomplete sentence.
27 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
29         PR libstdc++/56267
30         * include/bits/hashtable.h (__cache_default): Check if hash function
31         is copy assignable.
32         * testsuite/23_containers/unordered_set/56267.cc: New.
33         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
34         dg-error line number.
35         * testsuite/23_containers/unordered_set/
36         not_default_constructible_hash_neg.cc: Likewise.
38         PR libstdc++/56278
39         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
40         constructor public.
41         * testsuite/23_containers/unordered_set/56278.cc: New.
43 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
45         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
46         simplification.
48 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
50         PR libstdc++/56216
51         * include/tr1/special_function_util.h: Remove spurious const
52         from numeric arguments.
53         * include/tr1/riemann_zeta.tcc: Likewise.
54         * include/tr1/exp_integral.tcc: Likewise.
55         * include/tr1/bessel_function.tcc: Likewise.
56         * include/tr1/hypergeometric.tcc: Likewise.
57         * include/tr1/modified_bessel_func.tcc: Likewise.
58         * include/tr1/poly_laguerre.tcc: Likewise.
59         * include/tr1/gamma.tcc: Likewise.
60         * include/tr1/legendre_function.tcc: Likewise.
61         * include/tr1/poly_hermite.tcc: Likewise.
62         * include/tr1/ell_integral.tcc: Likewise.
63         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
64         If argument is zero return function value.
65         * testsuite/tr1/5_numerical_facilities/special_functions/
66         08_cyl_bessel_i/pr56216.cc: New.
68 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
70         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
72 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
74         PR libstdc++/56193
75         * include/bits/basic_ios.h: Replace operator void*() const
76         with explicit operator bool() const in C++11 and greater.
77         * testsuite/27_io/basic_ios/pr56193.cc: New file.
79 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
81         Add missing explicit instantiation for std::lower_bound template
82         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
83         missing instantiation for std::lower_bound template.
85 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
87         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
88         * include/bits/basic_string.h: Specialize previous to mark
89         std::hash for string types as slow.
90         * include/bits/hashtable.h (__cache_default): Replace is_integral
91         with __is_fast_hash.
92         * src/c++11/hash_c++0x.cc: Add type_traits include.
93         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
94         Adapt dg-error line number.
95         * testsuite/23_containers/unordered_set/
96         not_default_constructible_hash_neg.cc: Likewise.
98 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
99             Paolo Carlini  <paolo.carlini@oracle.com>
101         PR libstdc++/56202 (again)
102         * include/bits/random.tcc (binomial_distribution<>::
103         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
104         in previous commit.
106         * include/bits/random.h: Fix comment typo.
108 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
109             Paolo Carlini  <paolo.carlini@oracle.com>
111         PR libstdc++/56202
112         * include/bits/random.tcc (binomial_distribution<>::
113         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
114         division by zero.
116 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
118         Update copyright years.
119         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
120         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
121         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
122         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
123         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
124         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
125         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
126         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
127         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
128         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
129         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
130         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
131         testsuite/29_atomics/atomic/cons/assign_neg.cc,
132         testsuite/29_atomics/atomic/cons/copy_neg.cc,
133         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
134         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
135         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
136         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
137         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
138         Update lines in dg error matches.
140 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
142         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
144 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
146         * include/bits/hashtable_policy.h
147         (_Prime_rehash_policy::_M_next_bkt)
148         (_Prime_rehash_policy::_M_need_rehash): Move definition...
149         * src/c++11/hashtable_c++0x.cc: ... here.
150         * src/shared/hashtable-aux.cc: Remove c++config.h include.
151         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
152         symbols.
154 2013-01-29  Jason Merrill  <jason@redhat.com>
156         PR libstdc++/54314
157         * config/abi/pre/gnu.ver: Don't export construction vtables.
158         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
160 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
162         PR libstdc++/56112
163         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
164         to construct value_type explicitly before trying to extract the key.
165         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
167 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
169         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
170         _Hashtable_ebo_helper to embed functors into the local_iterator
171         when necessary. Pass information about functors involved in hash
172         code by copy.
173         * include/bits/hashtable.h (__cache_default): Do not cache for
174         builtin integral types unless the hash functor is not noexcept
175         qualified or is not default constructible. Adapt static assertions
176         and local iterator instantiations.
177         * include/debug/unordered_set
178         (std::__debug::unordered_set<>::erase): Detect local iterators to
179         invalidate using contained node rather than generating a dummy
180         local_iterator instance.
181         (std::__debug::unordered_multiset<>::erase): Likewise.
182         * include/debug/unordered_map
183         (std::__debug::unordered_map<>::erase): Likewise.
184         (std::__debug::unordered_multimap<>::erase): Likewise.
185         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
186         std::tr1 and std versions of unordered_set regardless of any
187         macro. Add test on default cache behavior.
188         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
189         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
190         Adapt line number.
191         * testsuite/23_containers/unordered_set/
192         not_default_constructible_hash_neg.cc: New.
193         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
195 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
197         PR libstdc++/56085
198         * include/std/complex (pow(const complex<>&, int)): Avoid __n
199         signed overflow.
201 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
203         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
204         Tightten scan-assembler-times regexps, add dg-additional-options for
205         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
206         dg-options.
208 2013-01-12  Andi Kleen  <ak@linux.intel.com>
209             Jonathan Wakely  <jwakely.gcc@gmail.com>
211         PR libstdc++/55233
212         * include/bits/atomic_base.h (__memory_order_modifier): Add
213         __memory_order_mask, __memory_order_modifier_mask,
214         __memory_order_hle_acquire, __memory_order_hle_release.
215         (operator|,operator&): Add.
216         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
217         (__cmpexch_failure_order): Add.
218         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
219         Handle flags.
220         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
221         Add.
223 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
225         PR libstdc++/55861
226         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
227         Fix return type.
228         (__basic_future::_M_get_result()): Const qualify.
229         (shared_future::get()): Likewise.
230         * testsuite/30_threads/shared_future/members/get.cc: Use const
231         objects.
233 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
235         PR libstdc++/55043 (again)
236         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
237         unless construction would be well-formed.
238         (__allow_copy_cons, __check_copy_constructible): Define.
239         * include/bits/unordered_map.h (__check_copy_constructible): Use as
240         base class so copy constructor will be deleted if appropriate.
241         (is_copy_constructible): Remove specialization.
242         * include/bits/unordered_set.h: Likewise.
243         * include/debug/unordered_map.h: Undo previous commit. Default copy
244         and move constructors.
245         * include/debug/unordered_set.h: Likewise.
246         * include/profile/unordered_map.h: Undo previous commit.
247         * include/profile/unordered_set.h: Likewise.
248         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
249         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
250         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
251         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
252         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
253         cannot support incomplete types.
254         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
255         Likewise.
257 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
259         PR libstdc++/55043
260         * include/std/unordered_map: Include alloc_traits.h
261         * include/std/unordered_set: Likewise.
262         * include/bits/alloc_traits.h: Define __is_copy_insertable.
263         * include/bits/unordered_map.h: Use it.
264         * include/bits/unordered_set.h: Likewise.
265         * include/debug/unordered_map.h: Likewise.
266         * include/debug/unordered_set.h: Likewise.
267         * include/profile/unordered_map.h: Likewise.
268         * include/profile/unordered_set.h: Likewise.
269         * include/bits/hashtable.h: Fix comment typos.
270         * testsuite/23_containers/unordered_map/55043.cc: New.
271         * testsuite/23_containers/unordered_multimap/55043.cc: New.
272         * testsuite/23_containers/unordered_multiset/55043.cc: New.
273         * testsuite/23_containers/unordered_set/55043.cc: New.
275 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
277         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
278         gdb command.
280 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
282         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
284 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
286         PR libstdc++/55908
287         * include/std/functional (_Mem_fn::operator()): Fix constraints to
288         avoid ambiguity.
289         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
290         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
292 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
294         PR libstdc++/55594
295         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
296         Solaris targets.
297         * configure: Regenerate.
299 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
301         PR libstdc++/55847
302         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
303         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
304         string.
306         PR libstdc++/55728
307         * include/std/functional (bad_function_call::what()): Declare.
308         * src/c++11/functional.cc (bad_function_call::what()): Define.
309         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
310         * testsuite/20_util/bad_function_call/what.cc: New.
312 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
314         * include/bits/unordered_map.h: Fix typo in comments.
315         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
316         counts for unordered associative containers.
318 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
320         * doc/xml/manual/abi.xml: Update library and symbol versions.
322 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
324         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
325         in copyright years.
326         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
329 Copyright (C) 2013 Free Software Foundation, Inc.
331 Copying and distribution of this file, with or without modification,
332 are permitted in any medium without royalty provided the copyright
333 notice and this notice are preserved.