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