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