hashtable.h (_Hashtable(allocator_type)): Fix call to delegated constructor.
[gcc.git] / libstdc++-v3 / ChangeLog
index bc1803eb5bf7d22bb6142b09c1a0f860b599573f..455c28df664b1416e1253d7fc852090c41b41683 100644 (file)
@@ -1,3 +1,455 @@
+2014-03-23  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
+       to delegated constructor.
+       (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
+       (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
+       Likewise.
+       (_Hashtable(
+       initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
+
+2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR libstdc++/60623
+       * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
+
+2014-03-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/60587
+       * include/debug/functions.h (_Is_contiguous_sequence): Define.
+       (__foreign_iterator): Accept additional iterator. Do not dispatch on
+       iterator category.
+       (__foreign_iterator_aux2): Likewise. Add overload for iterators
+       from different types of debug container. Use _Is_contiguous_sequence
+       instead of is_lvalue_reference.
+       (__foreign_iterator_aux3): Accept additional iterator. Avoid
+       dereferencing past-the-end iterator.
+       (__foreign_iterator_aux4): Use const value_type* instead of
+       potentially user-defined const_pointer type.
+       * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
+       and pass end iterator to __gnu_debug::__foreign_iterator.
+       (__glibcxx_check_insert_range_after): Likewise.
+       (__glibcxx_check_max_load_factor): Fix comment.
+       * include/debug/vector (_Is_contiguous_sequence): Define partial
+       specializations.
+       * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
+       -std=gnu++11 option and unused header.
+       * testsuite/23_containers/vector/debug/60587.cc: New.
+       * testsuite/23_containers/vector/debug/60587_neg.cc: New.
+
+2014-03-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * crossconfig.m4: Support spu-*-elf* targets.
+       * configure: Regenerate.
+
+2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/60564
+       * include/std/future (__future_base::_Task_state<>): Change
+       constructors to template functions using perfect forwarding.
+       (__create_task_state): Use decayed type as stored task.
+       (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
+       * testsuite/30_threads/packaged_task/60564.cc: New.
+
+2014-03-16  François Dumont  <fdumont@gcc.gnu.org>
+
+       * scripts/create_testsuite_files: Add testsuite/experimental in
+       the list of folders to search for tests.
+
+2014-03-15  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
+
+2014-03-15  Tim Shen  <timshen91@gmail.com>
+
+       * include/bits/regex.h: Add/modify comments.
+       * include/bits/regex_compiler.h: Likewise.
+       * include/bits/regex_executor.h: Likewise.
+       * include/bits/regex_executor.tcc: Likewise.
+       * include/bits/regex_scanner.h: Likewise.
+
+2014-03-14  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR ipa/58721
+       * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
+       _ZNSt12system_errorC* symbols which are not exported on any target.
+
+2014-03-12  Roland McGrath  <mcgrathr@google.com>
+           Mark Seaborn  <mseaborn@google.com>
+
+       PR libstdc++/59392
+       * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
+       the address of a null pointer, not with a null pointer to pointer.
+       Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
+       * testsuite/18_support/bad_exception/59392.cc: New file.
+
+2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/60499
+       * include/debug/forward_list (forward_list::operator=(forward_list&&)):
+       Uglify name.
+       * include/debug/map (map::operator=(map&&)): Likewise.
+       * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
+       * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
+       * include/debug/set (set::operator=(set&&)): Likewise.
+       * include/debug/unordered_map
+       (unordered_map::operator=(unordered_map&&)): Likewise.
+       (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
+       * include/debug/unordered_set
+       (unordered_set::operator=(unordered_set&&)): Likewise.
+       (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
+       * include/debug/vector (vector::operator=(vector&&)): Likewise.
+       * testsuite/23_containers/forward_list/debug/60499.cc: New
+       * testsuite/23_containers/map/debug/60499.cc: New
+       * testsuite/23_containers/multimap/debug/60499.cc: New
+       * testsuite/23_containers/multiset/debug/60499.cc: New
+       * testsuite/23_containers/set/debug/60499.cc: New
+       * testsuite/23_containers/unordered_map/debug/60499.cc: New
+       * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
+       * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
+       * testsuite/23_containers/unordered_set/debug/60499.cc: New
+       * testsuite/23_containers/vector/debug/60499.cc: New
+
+2014-03-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
+       for filesystem and fundamentals TS work items.
+
+2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/60376
+       * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
+       Adjust dg-error directives.
+
+2014-02-26  Tim Shen  <timshen91@gmail.com>
+
+       * include/bits/regex.tcc (match_results<>::format,
+       regex_replace<>): Update __out after calling std::copy.
+       * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
+       Add testcase.
+       * testsuite/28_regex/match_results/format.cc: Likewise.
+
+2014-02-22  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR libstdc++/60308
+       * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
+       allocator_type&)): Remove redundant call to _M_initialize_map.
+       (deque::deque(const allocator_type&)): Initialize _Base with a
+       constructor that calls _M_initialize_map.
+
+       Partial revert:
+
+       2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
+       PR libstdc++/58338
+       (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
+       _M_initialize_map.
+
+2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       Rename testsuite directory shared_mutex to shared_timed_mutex
+       for consistency.
+       * testsuite/30_threads/shared_mutex: Moved to...
+       * testsuite/30_threads/shared_timed_mutex: ...here
+
+2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
+       * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
+       * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
+       * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
+       * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
+       * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
+       * testsuite/30_threads/shared_lock/requirements/
+       explicit_instantiation.cc: Ditto.
+       * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
+       * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
+       * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
+       * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
+       * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
+       * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
+       * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
+       * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
+       * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
+       * testsuite/30_threads/shared_mutex/requirements/
+       standard_layout.cc: Ditto.
+       * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
+       * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
+       * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
+       * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
+       * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
+
+2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
+       execution on i?86-*-solaris2.9, remove comment.
+       * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
+
+2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
+       * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
+       * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
+
+2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
+       not use varargs when argument could be non-POD.
+       (__alloctr_rebind_helper): Eliminate static const bool member by
+       using true_type and false_type.
+       (allocator_traits::__allocate_helper): Likewise.
+       (allocator_traits::__construct_helper): Likewise.
+       (allocator_traits::__destroy_helper): Likewise.
+       (allocator_traits::__maxsize_helper): Likewise.
+       (allocator_traits::__select_helper): Likewise.
+       * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
+       * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
+       Remove redundant condition.
+       * include/bits/stl_vector.h (vector::operator=(const vector&)):
+       Likewise.
+       (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
+       indirection through __alloc_traits.
+       * include/ext/alloc_traits.h (__allocator_always_compares_equal):
+       Eliminate static const bool members by using true_type and false_type.
+       (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
+       * testsuite/util/testsuite_allocator.h (PointerBase): Define.
+       * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
+       New.
+       * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
+
+       PR libstdc++/59829
+       * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
+       (vector::_M_data_ptr): New overloaded functions to ensure empty
+       vectors do not dereference the pointer.
+       * testsuite/23_containers/vector/59829.cc: New.
+       * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
+       Adjust dg-error line number.
+       * testsuite/23_containers/vector/requirements/dr438/
+       constructor_1_neg.cc: Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/
+       constructor_2_neg.cc: Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
+       Likewise.
+
+       PR libstdc++/21609
+       * include/ext/array_allocator.h: Add deprecated attribute.
+
+       PR libstdc++/57226
+       * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
+       installation and use of python printers.
+       * doc/xml/manual/status_cxx2011.xml: Update.
+       * doc/html/*: Regenerate.
+
+2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
+           Kyle Lippincott  <spectral@google.com>
+
+       PR libstdc++/59656
+       * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
+       constructor and grant friendship to weak_ptr.
+       (weak_ptr::lock()): Use new constructor.
+       * include/bits/shared_ptr_base.h
+       (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
+       and define specializations.
+       (__shared_count): Add new non-throwing constructor.
+       (__shared_ptr): Add new non-throwing constructor and grant friendship
+       to __weak_ptr.
+       (__weak_ptr::lock()): Use new constructor.
+       * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
+       * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
+
+2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/59215
+       * include/bits/shared_ptr_base.h
+       (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
+       load.
+
+2014-01-27  Jason Merrill  <jason@redhat.com>
+
+       Core DR 475
+       PR c++/41174
+       PR c++/59224
+       * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
+       * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
+       (__cxa_allocate_exception): Don't set it here.
+
+2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_map.h: Remove anachronistic comment.
+       * include/bits/stl_multimap.h: Add whitespace.
+       * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
+       -std=gnu++11 instead of -std=c++11.
+       * testsuite/23_containers/map/operators/2.cc: Likewise.
+       * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
+       * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
+       * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
+
+       * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
+       * configure: Regenerate.
+
+2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       PR libstdc++/59531
+       * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
+       * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
+
+2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
+           Peter A. Bigot <pab@pabigot.com>
+
+       PR libstdc++/59531
+       * include/experimental/string_view
+       (copy(_CharT*, size_type, size_type) const): Correct throw string.
+       Correct copy start location.
+
+2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
+           Peter A. Bigot <pab@pabigot.com>
+
+       PR libstdc++/59530
+       * include/experimental/string_view (operator[](size_type) const):
+       Fix one-off index error in debug check.
+       * testsuite/experimental/string_view/element_access/char/1.cc: Don't
+       test basic_string_view at size().
+       * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
+
+2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
+           Peter A. Bigot <pab@pabigot.com>
+
+       PR libstdc++/59529
+       * include/experimental/string_view
+       (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
+       * testsuite/experimental/string_view/operations/substr/char/1.cc:
+       Comment out catch of out_of_range; No terminating null
+       in basic_string_view.  Check begin == end.
+       * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
+       Ditto.
+
+2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/59548
+       * include/debug/safe_base.h (_Safe_sequence_base): Define copy
+       constructor to prevent it being implicitly defined as deleted, but
+       do not copy anything.
+       * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
+       Define copy and move constructors similar to _Safe_sequence_base's.
+       * testsuite/23_containers/unordered_map/59548.cc: New.
+
+2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+           Steve Ellcey  <sellcey@mips.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
+       function.
+       * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
+       * (configure, config.h.in): Regenerate.
+       * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
+
+2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
+       * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
+
+       PR libstdc++/59872
+       * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
+       * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
+       Likewise.
+       * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
+       Likewise.
+       * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
+       * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
+       functions to perform moving or copying of elements from rvalue tree.
+       (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
+       (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
+       * testsuite/23_containers/map/59872.cc: New.
+       * testsuite/23_containers/map/56613.cc: Remove duplicate include.
+
+2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/stl_deque.h (_Deque_impl): Move comment.
+
+       PR libstdc++/58764
+       * include/bits/stl_deque.h (deque::deque(const allocator_type&):
+       Split into separate default constructor and constructor taking
+       allocator.
+       * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
+       * include/bits/stl_vector.h (vector::vector(const allocator_type&):
+       Likewise.
+       * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
+       * include/debug/list (list::list(const _Allocator&)): Likewise.
+       * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
+       Likewise.
+       * include/debug/multimap.h
+       (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
+       * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
+       Likewise.
+       * include/debug/multiset.h
+       (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
+       * include/debug/vector (vector::vector(const allocator_type&)):
+       Likewise.
+       * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
+       * include/profile/list (list::list(const _Allocator&)): Likewise.
+       * include/profile/map.h
+       (map::map(const _Compare&, const _Allocator&)): Likewise.
+       * include/profile/multimap.h
+       (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
+       * include/profile/set.h
+       (set::set(const _Compare&, const _Allocator&)): Likewise.
+       * include/profile/multiset.h
+       (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
+       * include/profile/vector (vector::vector(const _Allocator&)):
+       Likewise.
+       * testsuite/23_containers/deque/58764.cc: New.
+       * testsuite/23_containers/list/58764.cc: New.
+       * testsuite/23_containers/map/58764.cc: New.
+       * testsuite/23_containers/multimap/58764.cc: New.
+       * testsuite/23_containers/set/58764.cc: New.
+       * testsuite/23_containers/multiset/58764.cc: New.
+       * testsuite/23_containers/vector/58764.cc: New.
+       * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
+       Adjust dg-error line number.
+       * testsuite/23_containers/deque/requirements/dr438/
+       constructor_1_neg.cc: Likewise.
+       * testsuite/23_containers/deque/requirements/dr438/
+       constructor_2_neg.cc: Likewise.
+       * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
+       Likewise.
+       * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+       Likewise.
+       * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
+       Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
+       Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/
+       constructor_1_neg.cc: Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/
+       constructor_2_neg.cc: Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
+       Likewise.
+
+       PR libstdc++/58764 (again)
+       * include/bits/stl_list.h (list): Make default constructor's exception
+       specification conditional.
+       * include/bits/stl_vector.h (vector): Likewise.
+       * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
+       to default constructor.
+       * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+       Adjust dg-error line number.
+       * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
+       Likewise.
+       * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
+       Likewise.
+       * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
+       Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
+       Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/
+       constructor_1_neg.cc: Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/
+       constructor_2_neg.cc: Likewise.
+       * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
+       Likewise.
+
 2014-01-21  Tim Shen  <timshen91@gmail.com>
 
        * include/bits/regex.tcc: Remove incorrect `nosubs` handling.