PR/56490
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobeae751708111348bf37b0efd5743972c0d131e18
1 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
4         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
5         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
6         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
9 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
11         PR libstdc++/56012
12         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
13         * testsuite/29_atomics/atomic/operators/56012.cc: New.
15         PR libstdc++/56011
16         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
17         missing overload.
18         * testsuite/29_atomics/atomic/operators/56011.cc: New.
20 2013-02-25  Jason Merrill  <jason@redhat.com>
22         * configure.ac: Check for __cxa_thread_atexit_impl.
23         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
24         to it if available.
25         * config.h.in, configure: Regenerate.
27 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
29         * include/std/streambuf (basic_streambuf): Use injected class name
30         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
31         group.
33 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
35         * doc/html/faq.html: Fix spelling.
36         * doc/xml/faq.xml: Likewise.
37         * include/bits/basic_ios.h: Likewise.
38         * include/bits/regex.h: Likewise.
39         * include/std/istream: Likewise.
40         * include/std/streambuf: Likewise.
42 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
44         * testsuite/23_containers/unordered_set/55043.cc: Add missing
45         namespace qualification.
46         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
48 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
50         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
51         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
52         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
53         * include/bits/stl_pair.h: Add to utilities group.
54         * include/std/tuple: Same.
55         * include/std/typeindex: Same.
57         * include/bits/stringfwd.h: Fix markup.
58         * include/std/limits: Same.
59         * include/std/type_traits: Same.
60         * include/tr1/memory: Same.
61         * include/tr1/regex: Same.
62         * scripts/run_doxygen: Comment.
63         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
65 2013-02-14  Jason Merrill  <jason@redhat.com>
67         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
68         test if unsupported.
70 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
72         PR libstdc++/56111
73         * include/std/complex (complex): Undefine.
74         * include/c_compatibility/complex.h (complex): Only undefine if
75         <complex> has been included.
76         * testsuite/26_numerics/complex/56111.cc: New testcase.
78 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
80         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
81         default constructor protected.
82         * include/bits/hashtable.h: static assert that _Hash_code_base has
83         a default constructor available through inheritance.
85 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
87         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
88         C++11 mode.
90 2013-02-12  Julian Brown  <julian@codesourcery.com>
92         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
93         Don't expect dots after abbreviated weekday names for ru_RU for
94         glibc versions >= 2.17.
95         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
96         Likewise.
98 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
100         * include/bits/random.tcc (__transform): Remove.
101         (__normalize): Add.
102         (discrete_distribution<>::param_type::_M_initialize): Adjust.
103         (piecewise_constant_distribution<>::param_type::_M_initialize):
104         Likewise.
105         (piecewise_linear_distribution<>::param_type::_M_initialize):
106         Likewise.
108 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
110         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
111         Use -fimplicit-templates.
112         * src/c++11/Makefile.in: Regenerate.
113         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
114         std::lower_bound template.
116 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
118         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
119         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
120         in C++11 mode and if available in the underlying C library.
121         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
122         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
123         _GLIBCXX_HAVE_QUICK_EXIT.
125 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
127         * doc/html/*: Regenerate.
129 2013-02-11  Jason Merrill  <jason@redhat.com>
131         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
132         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
133         * config.h.in, configure: Regenerate.
134         * include/c_std/cstdlib: Add atexit and at_quick_exit.
135         * include/c_global/cstdlib: Add atexit and at_quick_exit.
136         * testsuite/18_support/quick_exit/quick_exit.cc: New.
138 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
140         PR libstdc++/56282
141         Revert:
142         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
144         PR libstdc++/56193
145         * include/bits/basic_ios.h: Replace operator void*() const
146         with explicit operator bool() const in C++11 and greater.
147         * testsuite/27_io/basic_ios/pr56193.cc: New file.
149 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
150             Jonathan Wakely  <jwakely.gcc@gmail.com>
152         * doc/xml/manual/containers.xml: Add section on unordered containers.
153         * doc/xml/manual/using.xml: Fix incomplete sentence.
155 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
157         PR libstdc++/56267
158         * include/bits/hashtable.h (__cache_default): Check if hash function
159         is copy assignable.
160         * testsuite/23_containers/unordered_set/56267.cc: New.
161         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
162         dg-error line number.
163         * testsuite/23_containers/unordered_set/
164         not_default_constructible_hash_neg.cc: Likewise.
166         PR libstdc++/56278
167         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
168         constructor public.
169         * testsuite/23_containers/unordered_set/56278.cc: New.
171 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
173         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
174         simplification.
176 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
178         PR libstdc++/56216
179         * include/tr1/special_function_util.h: Remove spurious const
180         from numeric arguments.
181         * include/tr1/riemann_zeta.tcc: Likewise.
182         * include/tr1/exp_integral.tcc: Likewise.
183         * include/tr1/bessel_function.tcc: Likewise.
184         * include/tr1/hypergeometric.tcc: Likewise.
185         * include/tr1/modified_bessel_func.tcc: Likewise.
186         * include/tr1/poly_laguerre.tcc: Likewise.
187         * include/tr1/gamma.tcc: Likewise.
188         * include/tr1/legendre_function.tcc: Likewise.
189         * include/tr1/poly_hermite.tcc: Likewise.
190         * include/tr1/ell_integral.tcc: Likewise.
191         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
192         If argument is zero return function value.
193         * testsuite/tr1/5_numerical_facilities/special_functions/
194         08_cyl_bessel_i/pr56216.cc: New.
196 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
198         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
200 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
202         PR libstdc++/56193
203         * include/bits/basic_ios.h: Replace operator void*() const
204         with explicit operator bool() const in C++11 and greater.
205         * testsuite/27_io/basic_ios/pr56193.cc: New file.
207 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
209         Add missing explicit instantiation for std::lower_bound template
210         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
211         missing instantiation for std::lower_bound template.
213 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
215         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
216         * include/bits/basic_string.h: Specialize previous to mark
217         std::hash for string types as slow.
218         * include/bits/hashtable.h (__cache_default): Replace is_integral
219         with __is_fast_hash.
220         * src/c++11/hash_c++0x.cc: Add type_traits include.
221         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
222         Adapt dg-error line number.
223         * testsuite/23_containers/unordered_set/
224         not_default_constructible_hash_neg.cc: Likewise.
226 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
227             Paolo Carlini  <paolo.carlini@oracle.com>
229         PR libstdc++/56202 (again)
230         * include/bits/random.tcc (binomial_distribution<>::
231         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
232         in previous commit.
234         * include/bits/random.h: Fix comment typo.
236 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
237             Paolo Carlini  <paolo.carlini@oracle.com>
239         PR libstdc++/56202
240         * include/bits/random.tcc (binomial_distribution<>::
241         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
242         division by zero.
244 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
246         Update copyright years.
247         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
248         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
249         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
250         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
251         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
252         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
253         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
254         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
255         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
256         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
257         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
258         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
259         testsuite/29_atomics/atomic/cons/assign_neg.cc,
260         testsuite/29_atomics/atomic/cons/copy_neg.cc,
261         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
262         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
263         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
264         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
265         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
266         Update lines in dg error matches.
268 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
270         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
272 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
274         * include/bits/hashtable_policy.h
275         (_Prime_rehash_policy::_M_next_bkt)
276         (_Prime_rehash_policy::_M_need_rehash): Move definition...
277         * src/c++11/hashtable_c++0x.cc: ... here.
278         * src/shared/hashtable-aux.cc: Remove c++config.h include.
279         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
280         symbols.
282 2013-01-29  Jason Merrill  <jason@redhat.com>
284         PR libstdc++/54314
285         * config/abi/pre/gnu.ver: Don't export construction vtables.
286         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
288 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
290         PR libstdc++/56112
291         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
292         to construct value_type explicitly before trying to extract the key.
293         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
295 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
297         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
298         _Hashtable_ebo_helper to embed functors into the local_iterator
299         when necessary. Pass information about functors involved in hash
300         code by copy.
301         * include/bits/hashtable.h (__cache_default): Do not cache for
302         builtin integral types unless the hash functor is not noexcept
303         qualified or is not default constructible. Adapt static assertions
304         and local iterator instantiations.
305         * include/debug/unordered_set
306         (std::__debug::unordered_set<>::erase): Detect local iterators to
307         invalidate using contained node rather than generating a dummy
308         local_iterator instance.
309         (std::__debug::unordered_multiset<>::erase): Likewise.
310         * include/debug/unordered_map
311         (std::__debug::unordered_map<>::erase): Likewise.
312         (std::__debug::unordered_multimap<>::erase): Likewise.
313         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
314         std::tr1 and std versions of unordered_set regardless of any
315         macro. Add test on default cache behavior.
316         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
317         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
318         Adapt line number.
319         * testsuite/23_containers/unordered_set/
320         not_default_constructible_hash_neg.cc: New.
321         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
323 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
325         PR libstdc++/56085
326         * include/std/complex (pow(const complex<>&, int)): Avoid __n
327         signed overflow.
329 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
331         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
332         Tightten scan-assembler-times regexps, add dg-additional-options for
333         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
334         dg-options.
336 2013-01-12  Andi Kleen  <ak@linux.intel.com>
337             Jonathan Wakely  <jwakely.gcc@gmail.com>
339         PR libstdc++/55233
340         * include/bits/atomic_base.h (__memory_order_modifier): Add
341         __memory_order_mask, __memory_order_modifier_mask,
342         __memory_order_hle_acquire, __memory_order_hle_release.
343         (operator|,operator&): Add.
344         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
345         (__cmpexch_failure_order): Add.
346         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
347         Handle flags.
348         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
349         Add.
351 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
353         PR libstdc++/55861
354         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
355         Fix return type.
356         (__basic_future::_M_get_result()): Const qualify.
357         (shared_future::get()): Likewise.
358         * testsuite/30_threads/shared_future/members/get.cc: Use const
359         objects.
361 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
363         PR libstdc++/55043 (again)
364         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
365         unless construction would be well-formed.
366         (__allow_copy_cons, __check_copy_constructible): Define.
367         * include/bits/unordered_map.h (__check_copy_constructible): Use as
368         base class so copy constructor will be deleted if appropriate.
369         (is_copy_constructible): Remove specialization.
370         * include/bits/unordered_set.h: Likewise.
371         * include/debug/unordered_map.h: Undo previous commit. Default copy
372         and move constructors.
373         * include/debug/unordered_set.h: Likewise.
374         * include/profile/unordered_map.h: Undo previous commit.
375         * include/profile/unordered_set.h: Likewise.
376         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
377         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
378         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
379         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
380         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
381         cannot support incomplete types.
382         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
383         Likewise.
385 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
387         PR libstdc++/55043
388         * include/std/unordered_map: Include alloc_traits.h
389         * include/std/unordered_set: Likewise.
390         * include/bits/alloc_traits.h: Define __is_copy_insertable.
391         * include/bits/unordered_map.h: Use it.
392         * include/bits/unordered_set.h: Likewise.
393         * include/debug/unordered_map.h: Likewise.
394         * include/debug/unordered_set.h: Likewise.
395         * include/profile/unordered_map.h: Likewise.
396         * include/profile/unordered_set.h: Likewise.
397         * include/bits/hashtable.h: Fix comment typos.
398         * testsuite/23_containers/unordered_map/55043.cc: New.
399         * testsuite/23_containers/unordered_multimap/55043.cc: New.
400         * testsuite/23_containers/unordered_multiset/55043.cc: New.
401         * testsuite/23_containers/unordered_set/55043.cc: New.
403 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
405         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
406         gdb command.
408 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
410         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
412 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
414         PR libstdc++/55908
415         * include/std/functional (_Mem_fn::operator()): Fix constraints to
416         avoid ambiguity.
417         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
418         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
420 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
422         PR libstdc++/55594
423         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
424         Solaris targets.
425         * configure: Regenerate.
427 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
429         PR libstdc++/55847
430         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
431         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
432         string.
434         PR libstdc++/55728
435         * include/std/functional (bad_function_call::what()): Declare.
436         * src/c++11/functional.cc (bad_function_call::what()): Define.
437         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
438         * testsuite/20_util/bad_function_call/what.cc: New.
440 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
442         * include/bits/unordered_map.h: Fix typo in comments.
443         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
444         counts for unordered associative containers.
446 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
448         * doc/xml/manual/abi.xml: Update library and symbol versions.
450 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
452         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
453         in copyright years.
454         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
457 Copyright (C) 2013 Free Software Foundation, Inc.
459 Copying and distribution of this file, with or without modification,
460 are permitted in any medium without royalty provided the copyright
461 notice and this notice are preserved.