2013-04-04 François Dumont <fdumont@gcc.gnu.org>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob64e5383cf27ad26c18eac87a41eb5ea0620e4c93
1 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
3         * include/std/functional (_Derives_from_unary_function): Remove.
4         (_Derives_from_binary_function): Remove.
5         * include/std/type_traits (__sfinae_types): Remove.
6         (__is_assignable_helper): Adapt.
7         (__is_convertible_helper): Adapt.
8         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
9         Remove several explicit instantiations of integral_constant.
10         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
11         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
12         Adapt dg-error line number.
13         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
14         Likewise.
15         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
16         * testsuite/20_util/bind/ref_neg.cc: Likewise.
18 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
20         PR libstdc++/56841
21         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
22         get_terminate() accessors.
23         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
24         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
25         available.
26         * libsupc++/new_handler.cc: Likewise.
28 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
30         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
32 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
34         PR libstdc++/56834
35         * include/debug/array (tuple_size, tuple_element): Do not declare.
36         * include/profile/array: Likewise.
37         * testsuite/23_containers/array/tuple_interface/
38         tuple_element_debug_neg.cc: Adjust dg-error line number.
40 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
42         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
43         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
44         Define.
45         (set_terminate(terminate_handler)): Set atomically.
46         (set_unexpected(terminate_handler)): Likewise.
47         * libsupc++/new (get_new_handler()): Declare.
48         * libsupc++/new_handler.cc (get_new_handler()): Define.
49         (set_new_handler(new_handler)): Set atomically.
50         (__new_handler): Use internal linkage.
51         * libsupc++/new_op.cc (operator new): Use get_new_handler().
52         * libsupc++/new_opnt.cc (operator new): Likewise.
53         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
54         * configure: Regenerate.
55         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
56         * libsupc++/Makefile.in: Regenerate.
57         * config/abi/pre/gnu.ver: Add new exports.
58         * doc/xml/manual/status_cxx2011.xml: Update.
59         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
60         for handlers.
61         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
62         * testsuite/18_support/new_handler.cc: New.
63         * testsuite/18_support/terminate_handler.cc: New.
64         * testsuite/18_support/unexpected_handler.cc: New.
66 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
68         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
69         defer to general documentation on contributing to GCC.
70         * doc/html/*: Regenerate.
72 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
74         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
76         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
77         Coding Standards.
79         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
81         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
83         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
85         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
87         * doc/xml/manual/policy_data_structures: Remove direct link to
88         IBM Haifa Research Labs.
90         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
91         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
92         Remove direct link to IBM Haifa Research Labs.
94         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
95         papers.
97         * doc/xml/manual/shared_ptr.xml: Use canonical address for
98         www.boost.org.
100 2013-03-27  Kai Tietz  <ktietz@redhat.com>
102         * crossconfig.m4: Add support for cygwin x64 target.
103         * configure: Regenerated.
105 2013-03-25  Kai Tietz  <ktietz@redhat.com>
107         * testsuite/18_support/50594.cc: For mingw-targets use only static
108         libstdc++-version.
109         * testsuite/19_diagnostics/error_category/operators/equal.cc
110         * testsuite/19_diagnostics/error_code/cons/1.cc
111         * testsuite/19_diagnostics/error_code/operators/bool.cc
112         * testsuite/19_diagnostics/error_code/operators/equal.cc
113         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
114         * testsuite/19_diagnostics/error_condition/cons/1.cc
115         * testsuite/19_diagnostics/error_condition/operators/bool.cc
116         * testsuite/19_diagnostics/error_condition/operators/equal.cc
117         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
118         * testsuite/23_containers/set/requirements/exception/basic.cc
119         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
120         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
122 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
124         PR libstdc++/56170
125         * include/ext/debug_allocator.h (debug_allocator): Add missing members
126         to meet allocator requirements.
127         * testsuite/ext/debug_allocator/56170.cc: New.
129 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
131         PR libstdc++/56678
132         * include/std/chrono (__is_ratio): Uglify T.
134 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
136         PR libstdc++/55977 (partial, std::vector and std::deque bits)
137         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
138         _InputIterator, std::input_iterator_tag)): Use emplace_back.
139         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
140         _InputIterator, std::input_iterator_tag)): Likewise.
141         * testsuite/23_containers/vector/cons/55977.cc: New.
142         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
143         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
144         Adjust dg-error line number.
145         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
146         Likewise.
148 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
150         PR libstdc++/55979
151         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
152         _InputIterator, __false_type)): Use emplace_back.
153         * testsuite/23_containers/list/cons/55979.cc: New.
154         * testsuite/23_containers/list/modifiers/1.h: Adjust.
155         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
156         Adjust dg-error line number.
158 2013-03-16  Jason Merrill  <jason@redhat.com>
160         PR c++/55017
161         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
163 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
165         PR libstdc++/56468
166         * libsupc++/exception_ptr.h (type_info): Declare.
168 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
170         PR libstdc++/56002
171         * include/std/mutex (lock_guard, unique_lock, lock): Define without
172         depending on _GLIBCXX_HAS_GTHREADS.
173         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
175 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
177         PR libstdc++/56492
178         * include/std/future (__future_base::_Result): Add result_type
179         typedef.
180         (__future_base::_S_allocate_result): Overload for std::allocator.
181         (__future_base::_Task_setter): Use _Result::result_type instead of
182         deducing the type from the task.
183         (__future_base::_Task_state): Store allocator to allow shared state
184         to be reset.  Replace std::function with member of target object type
185         accessed via ...
186         (__future_base::_Task_state_base): New abstract base class.
187         (__future_base::_Task_state_base::_M_run): New virtual function to
188         invoke type-erased target object.
189         (__future_base::_Task_state_base::_M_reset): New virtual function to
190         create new shared_state using same target object and allocator.
191         (__future_base::__create_task_state): Allocate a new _Task_state.
192         (packaged_task::packaged_task): Use __create_task_state.
193         (packaged_task::reset): Use _Task_state_base::_M_reset.
194         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
196 2013-03-15  Tom Tromey  <tromey@redhat.com>
198         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
199         (PROBE2): New macro.
200         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
201         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
202         * configure.ac: Check for sys/sdt.h.
203         * configure, config.h.in: Rebuild.
205 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
207         PR libstdc++/56613
208         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
209         allocator_traits instead of calling construct directly.
210         * testsuite/23_containers/map/56613.cc: New.
212 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
214         * doc/html/*: Regenerate.
216 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
218         PR libstdc++/56609
219         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
220         * testsuite/20_util/is_fundamental/value.cc: Extend.
221         * testsuite/20_util/is_compound/value.cc: Likewise.
223 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
225         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
226         -Wunused warnings.
228 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
230         * include/bits/memoryfwd.h: New. Centralize forward declarations.
231         * include/bits/algorithmfwd.h: Consistent comments.
232         * include/bits/localefwd.h: Same.
233         * include/ext/vstring_fwd.h: Same.
234         * include/parallel/algorithmfwd.h: Same.
235         * include/parallel/numericfwd.h: Same.
236         * include/std/iosfwd: Same.
238         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
239         forward decl.
240         * include/ext/alloc_traits.h: Remove allocator forward decl.
241         * include/bits/stl_construct.h: Same.
242         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
243         forward decl. Consistent comments.
245         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
247         * include/Makefile.am (bits_headers): Add memoryfwd.h.
248         * include/Makefile.in: Regenerate.
249         * configure: Same.
251 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
253         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
254         Reset pointers after deallocation when memory can be reused.
255         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
256         elements to really challenge C++11 allocator integration.
257         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
258         * testsuite/23_containers/vector/allocator/copy_assign.cc:
259         Likewise.
260         * testsuite/23_containers/vector/allocator/move_assign.cc:
261         Likewise.
262         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
263         swap vector back before checks on memory/personality mapping are
264         performed.
265         * testsuite/23_containers/forward_list/allocator/minimal.cc:
266         Insert element to really challenge C++11 allocator integration.
267         * testsuite/23_containers/forward_list/allocator/copy.cc:
268         Likewise.
269         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
270         Likewise.
271         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
272         Likewise.
273         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
274         and swap forward_list back before checks on memory/personality
275         mapping are performed.
277 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
279         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
280         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
281         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
282         Likewise.
283         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
284         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
285         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
286         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
287         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
288         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
290 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
292         * scripts/extract_symvers.pl: Omit symbols bound to base
293         versions.
294         * scripts/extract_symvers.in: Likewise.
295         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
296         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
297         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
298         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
299         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
301 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
303         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
304         Optimize generation function by pulling computation of __r into the
305         constructor for param_type.  Also compare _M_mu in operator==.
306         Fix comment.
308 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
310         Add triangular and von Mises distributions.
311         * include/ext/random: Include <ext/cmath>.
312         Add __gnu_cxx::triangular_distribution<> and
313         __gnu_cxx::von_mises_distribution<> classes.
314         * include/ext/random.tcc: Add out-of-line functions for
315         __gnu_cxx::triangular_distribution<> and
316         __gnu_cxx::von_mises_distribution<>.
317         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
318         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
319         * testsuite/ext/triangular_distribution/operators/serialize.cc:
320         New file.
321         * testsuite/ext/triangular_distribution/operators/equal.cc:
322         New file.
323         * testsuite/ext/triangular_distribution/operators/inequal.cc:
324         New file.
325         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
326         New file.
327         * testsuite/ext/triangular_distribution/requirements/
328         explicit_instantiation/1.cc: New file.
329         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
330         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
331         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
332         New file.
333         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
334         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
335         New file.
336         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
337         New file.
338         * testsuite/ext/von_mises_distribution/requirements/
339         explicit_instantiation/1.cc: New file.
341         Add math constants.
342         * include/Makefile.am (ext_headers): Add cmath.
343         * include/Makefile.in: Regenerated.
344         * include/ext/cmath: New file.
346 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
348         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
349         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
350         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
351         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
352         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
354 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
356         PR libstdc++/56012
357         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
358         * testsuite/29_atomics/atomic/operators/56012.cc: New.
360         PR libstdc++/56011
361         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
362         missing overload.
363         * testsuite/29_atomics/atomic/operators/56011.cc: New.
365 2013-02-25  Jason Merrill  <jason@redhat.com>
367         * configure.ac: Check for __cxa_thread_atexit_impl.
368         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
369         to it if available.
370         * config.h.in, configure: Regenerate.
372 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
374         * include/std/streambuf (basic_streambuf): Use injected class name
375         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
376         group.
378 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
380         * doc/html/faq.html: Fix spelling.
381         * doc/xml/faq.xml: Likewise.
382         * include/bits/basic_ios.h: Likewise.
383         * include/bits/regex.h: Likewise.
384         * include/std/istream: Likewise.
385         * include/std/streambuf: Likewise.
387 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
389         * testsuite/23_containers/unordered_set/55043.cc: Add missing
390         namespace qualification.
391         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
393 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
395         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
396         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
397         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
398         * include/bits/stl_pair.h: Add to utilities group.
399         * include/std/tuple: Same.
400         * include/std/typeindex: Same.
402         * include/bits/stringfwd.h: Fix markup.
403         * include/std/limits: Same.
404         * include/std/type_traits: Same.
405         * include/tr1/memory: Same.
406         * include/tr1/regex: Same.
407         * scripts/run_doxygen: Comment.
408         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
410 2013-02-14  Jason Merrill  <jason@redhat.com>
412         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
413         test if unsupported.
415 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
417         PR libstdc++/56111
418         * include/std/complex (complex): Undefine.
419         * include/c_compatibility/complex.h (complex): Only undefine if
420         <complex> has been included.
421         * testsuite/26_numerics/complex/56111.cc: New testcase.
423 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
425         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
426         default constructor protected.
427         * include/bits/hashtable.h: static assert that _Hash_code_base has
428         a default constructor available through inheritance.
430 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
432         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
433         C++11 mode.
435 2013-02-12  Julian Brown  <julian@codesourcery.com>
437         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
438         Don't expect dots after abbreviated weekday names for ru_RU for
439         glibc versions >= 2.17.
440         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
441         Likewise.
443 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
445         * include/bits/random.tcc (__transform): Remove.
446         (__normalize): Add.
447         (discrete_distribution<>::param_type::_M_initialize): Adjust.
448         (piecewise_constant_distribution<>::param_type::_M_initialize):
449         Likewise.
450         (piecewise_linear_distribution<>::param_type::_M_initialize):
451         Likewise.
453 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
455         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
456         Use -fimplicit-templates.
457         * src/c++11/Makefile.in: Regenerate.
458         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
459         std::lower_bound template.
461 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
463         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
464         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
465         in C++11 mode and if available in the underlying C library.
466         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
467         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
468         _GLIBCXX_HAVE_QUICK_EXIT.
470 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
472         * doc/html/*: Regenerate.
474 2013-02-11  Jason Merrill  <jason@redhat.com>
476         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
477         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
478         * config.h.in, configure: Regenerate.
479         * include/c_std/cstdlib: Add atexit and at_quick_exit.
480         * include/c_global/cstdlib: Add atexit and at_quick_exit.
481         * testsuite/18_support/quick_exit/quick_exit.cc: New.
483 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
485         PR libstdc++/56282
486         Revert:
487         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
489         PR libstdc++/56193
490         * include/bits/basic_ios.h: Replace operator void*() const
491         with explicit operator bool() const in C++11 and greater.
492         * testsuite/27_io/basic_ios/pr56193.cc: New file.
494 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
495             Jonathan Wakely  <jwakely.gcc@gmail.com>
497         * doc/xml/manual/containers.xml: Add section on unordered containers.
498         * doc/xml/manual/using.xml: Fix incomplete sentence.
500 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
502         PR libstdc++/56267
503         * include/bits/hashtable.h (__cache_default): Check if hash function
504         is copy assignable.
505         * testsuite/23_containers/unordered_set/56267.cc: New.
506         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
507         dg-error line number.
508         * testsuite/23_containers/unordered_set/
509         not_default_constructible_hash_neg.cc: Likewise.
511         PR libstdc++/56278
512         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
513         constructor public.
514         * testsuite/23_containers/unordered_set/56278.cc: New.
516 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
518         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
519         simplification.
521 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
523         PR libstdc++/56216
524         * include/tr1/special_function_util.h: Remove spurious const
525         from numeric arguments.
526         * include/tr1/riemann_zeta.tcc: Likewise.
527         * include/tr1/exp_integral.tcc: Likewise.
528         * include/tr1/bessel_function.tcc: Likewise.
529         * include/tr1/hypergeometric.tcc: Likewise.
530         * include/tr1/modified_bessel_func.tcc: Likewise.
531         * include/tr1/poly_laguerre.tcc: Likewise.
532         * include/tr1/gamma.tcc: Likewise.
533         * include/tr1/legendre_function.tcc: Likewise.
534         * include/tr1/poly_hermite.tcc: Likewise.
535         * include/tr1/ell_integral.tcc: Likewise.
536         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
537         If argument is zero return function value.
538         * testsuite/tr1/5_numerical_facilities/special_functions/
539         08_cyl_bessel_i/pr56216.cc: New.
541 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
543         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
545 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
547         PR libstdc++/56193
548         * include/bits/basic_ios.h: Replace operator void*() const
549         with explicit operator bool() const in C++11 and greater.
550         * testsuite/27_io/basic_ios/pr56193.cc: New file.
552 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
554         Add missing explicit instantiation for std::lower_bound template
555         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
556         missing instantiation for std::lower_bound template.
558 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
560         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
561         * include/bits/basic_string.h: Specialize previous to mark
562         std::hash for string types as slow.
563         * include/bits/hashtable.h (__cache_default): Replace is_integral
564         with __is_fast_hash.
565         * src/c++11/hash_c++0x.cc: Add type_traits include.
566         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
567         Adapt dg-error line number.
568         * testsuite/23_containers/unordered_set/
569         not_default_constructible_hash_neg.cc: Likewise.
571 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
572             Paolo Carlini  <paolo.carlini@oracle.com>
574         PR libstdc++/56202 (again)
575         * include/bits/random.tcc (binomial_distribution<>::
576         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
577         in previous commit.
579         * include/bits/random.h: Fix comment typo.
581 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
582             Paolo Carlini  <paolo.carlini@oracle.com>
584         PR libstdc++/56202
585         * include/bits/random.tcc (binomial_distribution<>::
586         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
587         division by zero.
589 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
591         Update copyright years.
592         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
593         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
594         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
595         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
596         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
597         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
598         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
599         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
600         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
601         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
602         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
603         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
604         testsuite/29_atomics/atomic/cons/assign_neg.cc,
605         testsuite/29_atomics/atomic/cons/copy_neg.cc,
606         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
607         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
608         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
609         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
610         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
611         Update lines in dg error matches.
613 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
615         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
617 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
619         * include/bits/hashtable_policy.h
620         (_Prime_rehash_policy::_M_next_bkt)
621         (_Prime_rehash_policy::_M_need_rehash): Move definition...
622         * src/c++11/hashtable_c++0x.cc: ... here.
623         * src/shared/hashtable-aux.cc: Remove c++config.h include.
624         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
625         symbols.
627 2013-01-29  Jason Merrill  <jason@redhat.com>
629         PR libstdc++/54314
630         * config/abi/pre/gnu.ver: Don't export construction vtables.
631         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
633 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
635         PR libstdc++/56112
636         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
637         to construct value_type explicitly before trying to extract the key.
638         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
640 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
642         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
643         _Hashtable_ebo_helper to embed functors into the local_iterator
644         when necessary. Pass information about functors involved in hash
645         code by copy.
646         * include/bits/hashtable.h (__cache_default): Do not cache for
647         builtin integral types unless the hash functor is not noexcept
648         qualified or is not default constructible. Adapt static assertions
649         and local iterator instantiations.
650         * include/debug/unordered_set
651         (std::__debug::unordered_set<>::erase): Detect local iterators to
652         invalidate using contained node rather than generating a dummy
653         local_iterator instance.
654         (std::__debug::unordered_multiset<>::erase): Likewise.
655         * include/debug/unordered_map
656         (std::__debug::unordered_map<>::erase): Likewise.
657         (std::__debug::unordered_multimap<>::erase): Likewise.
658         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
659         std::tr1 and std versions of unordered_set regardless of any
660         macro. Add test on default cache behavior.
661         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
662         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
663         Adapt line number.
664         * testsuite/23_containers/unordered_set/
665         not_default_constructible_hash_neg.cc: New.
666         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
668 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
670         PR libstdc++/56085
671         * include/std/complex (pow(const complex<>&, int)): Avoid __n
672         signed overflow.
674 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
676         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
677         Tightten scan-assembler-times regexps, add dg-additional-options for
678         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
679         dg-options.
681 2013-01-12  Andi Kleen  <ak@linux.intel.com>
682             Jonathan Wakely  <jwakely.gcc@gmail.com>
684         PR libstdc++/55233
685         * include/bits/atomic_base.h (__memory_order_modifier): Add
686         __memory_order_mask, __memory_order_modifier_mask,
687         __memory_order_hle_acquire, __memory_order_hle_release.
688         (operator|,operator&): Add.
689         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
690         (__cmpexch_failure_order): Add.
691         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
692         Handle flags.
693         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
694         Add.
696 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
698         PR libstdc++/55861
699         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
700         Fix return type.
701         (__basic_future::_M_get_result()): Const qualify.
702         (shared_future::get()): Likewise.
703         * testsuite/30_threads/shared_future/members/get.cc: Use const
704         objects.
706 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
708         PR libstdc++/55043 (again)
709         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
710         unless construction would be well-formed.
711         (__allow_copy_cons, __check_copy_constructible): Define.
712         * include/bits/unordered_map.h (__check_copy_constructible): Use as
713         base class so copy constructor will be deleted if appropriate.
714         (is_copy_constructible): Remove specialization.
715         * include/bits/unordered_set.h: Likewise.
716         * include/debug/unordered_map.h: Undo previous commit. Default copy
717         and move constructors.
718         * include/debug/unordered_set.h: Likewise.
719         * include/profile/unordered_map.h: Undo previous commit.
720         * include/profile/unordered_set.h: Likewise.
721         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
722         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
723         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
724         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
725         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
726         cannot support incomplete types.
727         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
728         Likewise.
730 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
732         PR libstdc++/55043
733         * include/std/unordered_map: Include alloc_traits.h
734         * include/std/unordered_set: Likewise.
735         * include/bits/alloc_traits.h: Define __is_copy_insertable.
736         * include/bits/unordered_map.h: Use it.
737         * include/bits/unordered_set.h: Likewise.
738         * include/debug/unordered_map.h: Likewise.
739         * include/debug/unordered_set.h: Likewise.
740         * include/profile/unordered_map.h: Likewise.
741         * include/profile/unordered_set.h: Likewise.
742         * include/bits/hashtable.h: Fix comment typos.
743         * testsuite/23_containers/unordered_map/55043.cc: New.
744         * testsuite/23_containers/unordered_multimap/55043.cc: New.
745         * testsuite/23_containers/unordered_multiset/55043.cc: New.
746         * testsuite/23_containers/unordered_set/55043.cc: New.
748 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
750         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
751         gdb command.
753 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
755         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
757 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
759         PR libstdc++/55908
760         * include/std/functional (_Mem_fn::operator()): Fix constraints to
761         avoid ambiguity.
762         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
763         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
765 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
767         PR libstdc++/55594
768         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
769         Solaris targets.
770         * configure: Regenerate.
772 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
774         PR libstdc++/55847
775         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
776         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
777         string.
779         PR libstdc++/55728
780         * include/std/functional (bad_function_call::what()): Declare.
781         * src/c++11/functional.cc (bad_function_call::what()): Define.
782         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
783         * testsuite/20_util/bad_function_call/what.cc: New.
785 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
787         * include/bits/unordered_map.h: Fix typo in comments.
788         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
789         counts for unordered associative containers.
791 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
793         * doc/xml/manual/abi.xml: Update library and symbol versions.
795 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
797         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
798         in copyright years.
799         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
802 Copyright (C) 2013 Free Software Foundation, Inc.
804 Copying and distribution of this file, with or without modification,
805 are permitted in any medium without royalty provided the copyright
806 notice and this notice are preserved.