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