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