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