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