OSDN Git Service

2012-08-13 David Adler <d.adler.s@gmail.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
index d4682d4..5372e90 100644 (file)
@@ -1,3 +1,424 @@
+2012-08-13  David Adler  <d.adler.s@gmail.com>
+
+       PR libstdc++/54185
+       * src/c++11/condition_variable.cc (condition_variable): Always
+       destroy native type in destructor.
+       * testsuite/30_threads/condition_variable/54185.cc: New.
+
+2012-08-06  Peter Bergner  <bergner@vnet.ibm.com>
+
+       PR libstdc++/54036
+       * include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
+       a unary operator.
+       * testsuite/decimal/pr54036-1.cc: New test.
+       * testsuite/decimal/pr54036-2.cc: Likewise.
+       * testsuite/decimal/pr54036-3.cc: Likewise.
+
+2012-08-02  Michael Hope  <michael.hope@linaro.org>
+
+       Backport from mainline r186389:
+       2012-04-12  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * testsuite/Makefile.am (check_DEJAGNUnormal0): Run
+       prettyprinters.exp.
+       * testsuite/Makefile.in: Regenerated.
+
+2012-07-29  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/54075
+       * include/bits/hashtable_policy.h
+       (_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
+       to boost growth in the number of buckets.
+       * testsuite/performance/23_containers/insert/unordered_set.cc: New.
+
+2012-07-26  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/54075
+       * include/bits/hashtable.h
+       (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
+       size_type, ...): Remove std::max usage to guarantee that hashtable
+       state is consistent with hash policy state.
+       (_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
+       the hashtable shrinking on next insertion.
+       * testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
+       * testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
+       * testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
+       * testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
+
+2012-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
+
+2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/53270
+       * include/ext/concurrence.h: Use NSDMI for gthreads types.
+       * include/ext/rope: Likewise. Destroy mutexes in destructors. Add
+       system_header pragma.
+
+       Revert:
+       2012-06-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/53270
+       * config/os/gnu-linux/os_defines.h: Disable static initializer macros
+       for gthreads types in C++11 mode.
+
+2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/53978
+       * include/bits/alloc_traits.h (allocator_traits): Define static
+       constants.
+       * include/bits/ptr_traits.h (pointer_traits): Likewise.
+       * include/ext/alloc_traits.h (__allocator_always_compares_equal):
+       Likewise.
+
+2012-07-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/53657
+       * include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
+       per C++11.
+       * include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
+       (const_iterator, _Pair&&)): Constrain with std::is_constructible,
+       per LWG2005.
+       * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
+       multimap<>::insert(const_iterator, _Pair&&)): Likewise.
+       * include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
+       _Insert<>::insert(const_iterator, _Pair&&)): Likewise.
+       * include/debug/unordered_map: Adjust.
+       * include/debug/map.h: Likewise.
+       * include/debug/multimap.h: Likewise.
+       * include/profile/unordered_map: Likewise.
+       * include/profile/map.h: Likewise.
+       * include/profile/multimap.h: Likewise.
+
+2012-07-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/53578
+       * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
+       narrowing conversion.
+       * include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
+
+2012-07-06  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/53872
+       * include/std/thread (thread::_M_make_routine): Qualify make_shared
+       to prevent ADL.
+       * testsuite/30_threads/thread/adl.cc: New.
+
+2012-07-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/std/condition_variable: Update copyright years.
+
+2012-07-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/53830
+       * include/std/condition_variable (condition_variable_any::wait):
+       Move _Unlock type to class scope.
+       (condition_variable_any::wait_until): Reuse it.
+       * testsuite/30_threads/condition_variable_any/53830.cc: New.
+
+2012-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       Revert:
+       2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/49561
+       * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
+       Add in C++0x mode.
+       (_List_base<>::_List_impl, _List_base<>::_M_get_node,
+       _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
+       list<>::size, list<>::swap, list<>::splice): Use it.
+       (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
+       * include/bits/list.tcc (list<>::erase): Likewise.
+       (list<>::merge): Adjust in C++0x mode.
+       * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+       Adjust dg-error line number.
+       * testsuite/23_containers/list/requirements/dr438/insert_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.
+
+2012-06-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/53270
+       * config/os/gnu-linux/os_defines.h: Disable static initializer macros
+       for gthreads types in C++11 mode.
+
+2012-06-19  Jörg Sonnenberger <joerg@britannica.bec.de>
+           Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/53678
+       * config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
+       * testsuite/22_locale/ctype_base/53678.cc: New.
+
+2012-06-14  Release Manager
+
+       * GCC 4.7.1 released.
+
+2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/53503
+       * testsuite/26_numerics/headers/cmath/53503.cc: New.
+
+2012-05-10  DJ Delorie  <dj@redhat.com>
+
+       * include/bits/random.tcc (seed_seq::generate): Cast max()
+       operands to size_t to ensure a template match.
+       * include/std/bitset (_M_copy_from_ptr): Cast min() operands to
+       size_t to ensure a template match.
+
+2012-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/53193
+       * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
+       dg-error line number.
+
+2012-05-01  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/53115
+       * include/bits/hashtable.h
+       (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
+       after insertion of several equivalent elements.
+       * testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
+       * testsuite/23_containers/unordered_multimap/insert/53115.cc: New.
+
+2012-04-30  Andreas Tobler  <andreast@fgznet.ch>
+
+       Backport from mainline
+       2012-03-21  Andreas Tobler  <andreast@fgznet.ch>
+
+       * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
+       Skip this test on powerpc64-*-freebsd*.
+
+2012-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/std/scoped_allocator (scoped_allocator::__outermost): Do
+       not pass non-POD to varargs function.
+       * testsuite/20_util/scoped_allocator/1.cc: Fix test.
+
+2012-04-23  Chris Jefferson  <chris@bubblescope.net>
+
+       PR testsuite/53046
+       * testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
+       of array A.
+       * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
+
+2012-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/53067
+       * include/bits/hashtable_policy.h: Change inheritances to public.
+       * testsuite/23_containers/unordered_map/requirements/53067.cc: New.
+       * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
+
+2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/53027
+       * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
+       * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
+       rebind works.
+
+2012-04-21  Alan Modra  <amodra@gmail.com>
+
+       PR libstdc++/52839
+       * acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
+       glibcxx_cv_atomic_long_long.
+       * configure: Regenerate.
+
+2012-04-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       PR bootstrap/52840
+       * src/Makefile.am (build-debug): Do not adjust vpath dir, remove
+       Makefile.tmp
+       * src/Makefile.in: Adjust as per above.
+
+2012-04-16  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/52689
+       * libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
+       * libsupc++/Makefile.in: Regenerated.
+       * src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
+       (libstdc___la_SOURCES): Add in compatiblity files, with content
+       that varies with -DPIC.
+       * src/Makefile.in: Regenerated.
+       * src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
+       * src/c++11/Makefile.in: Regenerated.
+       * src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
+       * src/c++11/compatibility-c++0x.cc: Same.
+       * src/c++11/future.cc: Consolidate compatibility bits into..
+       * src/c++11/mutex.cc: Consolidate compatibility bits into..
+       * src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
+       * src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
+       * src/c++98/Makefile.in: Regenerated.
+       * src/c++98/compatibility-list-2.cc: Guard with PIC.
+       * src/c++98/compatibility.cc: Tweak comments.
+
+2012-04-16  Benjamin Kosnik  <bkoz@redhat.com>
+
+           * include/ext/pb_ds/detail/pat_trie_/
+           constructors_destructor_fn_imps.hpp: Increment after recursion.
+           * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
+           node_type markup from brief.
+
+2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/52699
+       * include/bits/random.tcc (independent_bits_engine<>::operator()())
+       Avoid various overflows; use common_type on result_type and
+       _RandomNumberEngine::result_type; avoid floating point computations;
+       other smaller tweaks.
+
+       * include/bits/random.tcc (uniform_int_distribution<>::operator())
+       Use common_type; assume _UniformRandomNumberGenerator::result_type
+       unsigned; tidy.
+
+       * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
+       __lg(unsigned long long)): Add.
+
+2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/debug/safe_iterator.h (_BeforeBeginHelper<>::
+       _S_Is_Beginnest): Add.
+       * include/debug/forward_list (_BeforeBeginHelper<>::
+       _S_Is_Beginnest): Likewise.
+       (_Safe_iterator<>::_M_is_beginnest): Add.
+       * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
+       Use the latter.
+       * testsuite/23_containers/forward_list/debug/splice_after.cc:
+       Add test.
+
+2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/forward_list.h (splice_after(const_iterator,
+       forward_list&), splice_after(const_iterator, forward_list&,
+       consst_iterator), splice_after(const_iterator, forward_list&,
+       const_iterator, const_iterator), merge(forward_list&),
+       merge(forward_list&, _Comp)): Add per C++11 as published (and
+       LWG 1310).
+       * include/debug/forward_list: Adjust.
+
+       * include/bits/forward_list.h (splice_after(const_iterator,
+       forward_list&&, const_iterator)): Only declare.
+       (_M_transfer_after): Remove.
+       (_M_splice_after(const_iterator, forward_list&&)): Change signature.
+       (splice_after(const_iterator, forward_list&&, const_iterator,
+       const_iterator)): Use the latter.
+       * include/bits/forward_list.tcc (splice_after(const_iterator,
+       forward_list&&, const_iterator)): Define here.
+       (_M_splice_after): Define, use throughout.
+
+       * include/bits/forward_list.h (insert_after(const_iterator,
+       std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
+       _InputIterator, _InputIterator).
+       * include/bits/forward_list.tcc: Remove definition.
+
+       * testsuite/23_containers/forward_list/modifiers/6.cc: New.
+       * testsuite/23_containers/forward_list/operations/1.cc: Adjust.
+
+       * testsuite/23_containers/forward_list/requirements/dr438/
+       assign_neg.cc: Adjust dg-error line number.
+       * testsuite/23_containers/forward_list/requirements/dr438/
+       insert_neg.cc: Likewise.
+       * testsuite/23_containers/forward_list/requirements/dr438/
+       constructor_1_neg.cc: Likewise.
+       * testsuite/23_containers/forward_list/requirements/dr438/
+       constructor_2_neg.cc: Likewise.
+
+2012-04-12   Jeffrey Yasskin  <jyasskin@google.com>
+
+       PR libstdc++/52822
+       * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
+       (__find_if_not_n): Like __find_if_not, but works on and updates a
+       counted range instead of a bounded range.
+       (stable_partition): Guarantee !__pred(*__first) in call to
+       __stable_partition_adaptive() or __inplace_stable_partition().
+       (__stable_partition_adaptive): Use new precondition to avoid
+       moving/copying objects onto themselves.  Guarantee new
+       precondition to recursive calls.
+       (__inplace_stable_partition): Use new precondition to simplify
+       base case, remove __last parameter.  Guarantee new precondition to
+       recursive calls.
+       * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
+       Test a sequence that starts with a value matching the predicate.
+       * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
+       vectors, which have a destructive self-move-assignment.
+
+2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/52942
+       * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
+       In C++11 mode do not derive from std::unary_function.
+       * include/ext/functional (identity, select1st, select2nd): Adjust.
+       * testsuite/23_containers/unordered_map/requirements/52942.cc: New.
+       * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
+
+2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/52924
+       * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
+       user-defined destructor.
+       (_Sp_counted_inplace): Likewise.
+       * testsuite/20_util/shared_ptr/cons/52924.cc: New.
+       * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
+       line numbers.
+
+2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * testsuite/performance/30_threads/future/polling.cc: Adjust.
+
+2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/52591
+       * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
+       to _M_move_assign depending on whether allocator is moved.
+       (vector::_M_move_assign): Add overloaded functions.
+       * testsuite/23_containers/vector/52591.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.
+
+2012-04-09  François Dumont  <fdumont@gcc.gnu.org>
+
+       PR libstdc++/52476
+       * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
+       (_Hashtable<>::_M_rehash): Use the latter.
+       * testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
+       * testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
+
+2012-04-09  Terry Guo  <terry.guo@arm.com>
+
+       Backport from mainline
+       2012-03-28  Terry Guo  <terry.guo@arm.com>
+
+       * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
+       * testsuite/Makefile.in: Regenerated.
+
+2012-03-30  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
+           Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/52799
+       * include/bits/deque.tcc (emplace): Fix thinko, replace push_front
+       -> emplace_front, and likewise for *_back.
+       * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
+       * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
+       * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
+
+2012-03-23  David S. Miller  <davem@davemloft.net>
+
+       * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
+
+2012-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/forward_list.h: Fix comments.
+
 2012-03-23  Paweł Sikora  <pawel.sikora@agmk.net>
 
        PR libstdc++/52540