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