OSDN Git Service

2011-12-12 Paolo Carlini <paolo.carlini@oracle.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
index eae2aeb..8a46f1c 100644 (file)
@@ -1,3 +1,346 @@
+2011-12-12  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       Revert:
+       2011-12-12  Kai Tietz  <ktietz@redhat.com>
+
+       PR libstdc++/51135
+       * libsupc++/cxxabi.h (__cxa_dtor_type): New type.
+       (__cxa_throw): Use it for destructor-argument.
+       * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
+       * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member
+       exceptionDestructor to __cxa_dtor_type.
+       * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR):
+       Define.
+       (__cxa_dtor_type): Declare target secific type variant.
+       * config/os/mingw32/os_defines.h: Likewise.
+
+2011-12-12  Kai Tietz  <ktietz@redhat.com>
+
+       PR libstdc++/51135
+       * libsupc++/cxxabi.h (__cxa_dtor_type): New type.
+       (__cxa_throw): Use it for destructor-argument.
+       * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
+       * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member
+       exceptionDestructor to __cxa_dtor_type.
+       * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR):
+       Define.
+       (__cxa_dtor_type): Declare target secific type variant.
+       * config/os/mingw32/os_defines.h: Likewise.
+
+2011-12-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y,
+       remove excessive duplication of version information.
+       * doc/html/*: Regenerate.
+
+2011-12-10  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * doc/doxygen/user.cfg.in: Add macros, directories.
+       * include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
+       * include/bits/locale_classes.tcc: Same.
+       * include/bits/shared_ptr.h: Same.
+       * include/bits/stl_algo.h: Same.
+       * include/bits/stl_list.h: Same.
+       * include/bits/stl_numeric.h: Same.
+       * include/debug/safe_base.h: Same.
+       * include/parallel/equally_split.h: Same.
+       * include/std/bitset: Same.
+       * include/std/complex: Same.
+       * include/std/fstream: Same.
+       * include/std/istream: Same.
+       * include/std/ostream: Same.
+       * include/tr2/dynamic_bitset: Same.
+       * scripts/run_doxygen: Remove munging for names that no longer exist.
+
+       * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+       Adjust line numbers.
+       * testsuite/23_containers/list/requirements/dr438/
+       constructor_1_neg.cc: Same.
+       * testsuite/23_containers/list/requirements/dr438/
+       constructor_2_neg.cc: Same.
+       * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
+
+2011-12-10  François Dumont <fdumont@gcc.gnu.org>
+
+       * include/profile/unordered_set: Minor formatting changes.
+       (unordered_set<>::_M_profile_destruct,
+       unordered_multiset<>::_M_profile_destruct): Fix implementation to not
+       rely on normal implementation details anymore.
+       (unordered_set<>::_M_profile_resize,
+       unordered_multiset<>::_M_profile_resize): Implement consistently
+       accross all unordered containers.
+       (unordered_set<>::emplace, unordered_set<>::emplace_hint,
+       unordered_multiset<>::emplace, unordered_multset<>::emplace_hint): Add
+       to signal rehash to profiling system.
+       * include/profile/unordered_map: Likewise for unordered_map<> and
+       unordered_multimap<>.
+
+2011-12-09  François Dumont <fdumont@gcc.gnu.org>
+
+       PR libstdc++/44436 (unordered containers emplace, emplace_hint bits)
+       * include/bits/hashtable.h (_Hashtable<>::emplace,
+       _Hashtable<>::emplace_hint): Add.
+       * include/debug/unordered_set (unordered_set<>::emplace,
+       unordered_set<>::emplace_hint, unordered_multiset<>::emplace,
+       unordered_multiset<>::emplace_hint): Add.
+       * include/profile/unordered_set: Likewise.
+       * include/debug/unordered_map (unordered_map<>::emplace,
+       unordered_map<>::emplace_hint, unordered_multimap<>::emplace,
+       unordered_multimap<>::emplace_hint): Add.
+       * include/profile/unordered_map: Likewise.
+       * testsuite/23_containers/unordered_map/modifiers/emplace.cc: New.
+       * testsuite/23_containers/unordered_multimap/modifiers/emplace.cc:
+       New.
+       * testsuite/23_containers/unordered_set/modifiers/emplace.cc: New.
+       * testsuite/23_containers/unordered_multiset/modifiers/emplace.cc:
+       New.
+       * testsuite/util/testsuite_container_traits.h
+       (traits_base::has_emplace): Add and defined as std::true_type for
+       unordered containers.
+       * testsuite/util/exception/safety.h (emplace, emplace_hint): Add and
+       use them in basic_safety exception test case.
+       * doc/xml/manual/status_cxx2011.xml: Update unordered containers
+       status.
+
+2011-12-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/bits/atomic_base.h (__calculate_memory_order): Rename to...
+       (__cmpexch_failure_order): This, and rewrite as constexpr function.
+       (compare_exchange_strong, compare_exchange_weak): Use it.
+       * include/std/atomic (compare_exchange_strong, compare_exchange_weak):
+       Likewise.
+
+2011-12-07  François Dumont <fdumont@gcc.gnu.org>
+
+       PR libstdc++/51386
+       * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt):
+       Fix computation of _M_prev_resize so that hashtable do not keep on
+       being rehashed when _M_max_load_factor is lower than 1.
+
+2011-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/51438
+       * libsupc++/nested_exception.h (nested_exception::~nested_exception):
+       Declare noexcept.
+       * libsupc++/nested_exception.cc: Adjust.
+       * testsuite/18_support/nested_exception/51438.cc: New.
+       * testsuite/18_support/nested_exception/throw_with_nested.cc: Adjust.
+       * testsuite/18_support/nested_exception/rethrow_if_nested.cc:
+       Likewise.
+
+       * src/shared_ptr.cc: Use noexcept where appropriate.
+       * include/std/system_error: Likewise.
+       * include/std/functional: Likewise.
+       * include/bits/shared_ptr_base.h: Likewise.
+       * src/stdexcept.cc: Use _GLIBCXX_USE_NOEXCEPT where appropriate.
+       * include/std/stdexcept: Likewise.
+       * libsupc++/bad_cast.cc: Likewise.
+       * libsupc++/bad_typeid.cc: Likewise.
+       * libsupc++/eh_exception.cc: Likewise.
+       * libsupc++/typeinfo: Likewise.
+       * libsupc++/exception: Likewise.
+       * libsupc++/eh_ptr.cc: Likewise.
+       * libsupc++/bad_alloc.cc: Likewise.
+       * libsupc++/exception_ptr.h: Likewise.
+
+       * include/std/chrono: Use noexcept where appropriate.
+       * src/chrono.cc: Likewise.
+
+2011-12-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+           Chris Jefferson  <chris@bubblescope.net>
+
+       PR libstdc++/51183
+       * include/std/stl_pair.h (pair<>::__cons, pair<>::__do_cons): Remove.
+       (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Only declare.
+       (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
+       Declare.
+       * include/std/tuple (pair<>::__cons, pair<>::__do_cons): Remove.
+       (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
+       Define.
+       (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Define,
+       delegating to the latter.
+       * testsuite/20_util/pair/piecewise2.cc: New.
+
+2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * libsupc++/initializer_list: Do not declare anything if
+       __GXX_EXPERIMENTAL_CXX0X__ is not defined.
+
+2011-12-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/std/type_traits: Doxygen improvements.
+       * include/bits/move.h: Likewise.
+       * include/tr1/type_traits:  Likewise.
+       * include/tr2/type_traits:  Likewise.
+       * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
+       line numbers
+       * testsuite/20_util/forward/c_neg.cc: Likewise.
+       * testsuite/20_util/forward/f_neg.cc: Likewise.
+       * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
+       Likewise.
+       * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+       Likewise.
+
+2011-12-04  Markus Trippelsdorf <markus@trippelsdorf.de>
+           Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/bits/stl_heap.h (pop_heap): Check for non-empty range in
+       overload taking a predicate.
+       * testsuite/25_algorithms/pop_heap/empty2_neg.cc: New.
+
+2011-12-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/debug/macros.h (__glibcxx_check_non_empty_range): Define.
+       * include/debug/debug.h (__glibcxx_requires_non_empty_range): Define.
+       * include/debug/formatter.h (__msg_non_empty_range): Add.
+       * src/debug.cc: Message text for __msg_non_empty_range.
+       * include/bits/stl_heap.h (pop_heap): Check for non-empty range.
+       * testsuite/25_algorithms/pop_heap/empty_neg.cc: New.
+
+2011-12-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/xml/manual/utilities.xml: Remove outdated text.
+
+2011-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/std/iomanip (put_money): Fix thinko, use __err local,
+       like in, eg, basic_ostream::_M_insert.
+
+2011-11-30  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove
+       size-specific macros. _GLIBCXX_ATOMIC_BUILTINS_1,
+       _GLIBCXX_ATOMIC_BUILTINS_2, _GLIBCXX_ATOMIC_BUILTINS_4,
+       _GLIBCXX_ATOMIC_BUILTINS_8. Use _GLIBCXX_ATOMIC_BUILTINS to
+       indicate use of C++11 atomic builtins.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * include/Makefile.am (bits_sup_headers): Add atomic_lockfree_defines.h.
+       * include/Makefile.in: Regenerate.
+       * libsupc++/Makefile.am: Compile C++11 support with -std=gnu++0x.
+       * libsupc++/Makefile.in: Regenerate.
+
+       * include/bits/atomic_base.h: Move lock-free property macros...
+       * libsupc++/atomic_lockfree_defines.h: ...here.
+       * include/std/future: Use C++11 macros.
+       * libsupc++/eh_ptr.cc: Same.
+       * libsupc++/eh_throw.cc: Same.
+       * libsupc++/exception: Same.
+       * libsupc++/exception_ptr.h: Same.
+       * libsupc++/guard.cc: Same.
+       * libsupc++/nested_exception.cc: Same.
+       * libsupc++/nested_exception.h: Same.
+       * src/future.cc: Same.
+
+       * include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS.
+
+       * doc/doxygen/user.cfg.in: Adjust.
+       * doc/xml/manual/concurrency_extensions.xml: Add note.
+
+       * testsuite/18_support/exception_ptr/lifespan.cc: Tweak.
+       * testsuite/lib/libstdc++.exp: Same.
+
+2011-11-29  François Dumont <fdumont@gcc.gnu.org>
+
+       * include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code
+       useless now that the hashtable implementation put the hash code in
+       cache if the hash functor throws.
+       * testsuite/23_containers/unordered_set/erase/1.cc: Enhance test by
+       checking also distance between begin and end iterators to validate
+       underlying data model.
+       * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
+       * testsuire/23_containers/unordered_map/erase/1.cc: Likewise.
+       * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
+       * testsuite/23_containers/unordered_multiset/erase/2.cc: New.
+       * testsuite/23_containers/unordered_multimap/erase/2.cc: New.
+
+2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
+
+       * include/bits/atomic_base.h (ATOMIC_*_LOCK_FREE): Use new cpp
+       predefined macros.
+       * testsuite/29_atomics/headers/atomic/macros.cc: Add BOOL and POINTER
+       macro checks.  Check for expected compile time values.
+
+2011-11-28  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/51288
+       * include/std/iomanip (get_money, put_money): Use sentry.
+       * testsuite/27_io/manipulators/extended/get_money/char/51288.cc: New.
+       * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
+       Likewise.
+       * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
+       Likewise.
+       * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
+       Likewise.
+
+2011-11-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
+       of i386.
+
+2011-11-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * scripts/run_doxygen (problematic): Change Linux reference to
+       GNU/Linux.
+
+2011-11-26  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
+       Fix reference to GCC.
+
+2011-11-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/51296
+       * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
+       on alpha*-*-osf*.
+       * testsuite/30_threads/future/cons/constexpr.cc: Disable debug
+       symbols.
+       * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
+
+2011-11-23  François Dumont <fdumont@gcc.gnu.org>
+
+       PR libstdc++/41975
+       * include/bits/hashtable.h (_Hashtable<>): Major data model
+       modification to limit performance impact of empty buckets in
+       erase(iterator) implementation.
+       * include/bits/hashtable_policy.h (_Hashtable_iterator,
+       _Hashtable_const_iterator): Remove not used anymore.
+       * include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
+       _M_grow_factor, just use natural evolution of prime numbers. Add
+       _M_prev_size to know when the number of buckets can be reduced.
+       * include/bits/unordered_set.h (__unordered_set<>,
+       __unordered_multiset<>), unordered_map.h (__unordered_map<>,
+       __unordered_multimap<>): Change default value of cache hash code
+       template parameter, false for integral types with noexcept hash
+       functor, true otherwise.
+       * include/debug/unordered_map, unordered_set: Adapt transformation
+       from iterator/const_iterator to respectively
+       local_iterator/const_local_iterator.
+       * testsuite/performance/23_containers/copy_construct/unordered_set.cc:
+       New.
+       * testsuite/23_containers/unordered_set/instantiation_neg.cc: New.
+       * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New.
+       * testsuite/23_containers/unordered_multiset/cons/copy.cc: New.
+       * testsuite/23_containers/unordered_multiset/erase/1.cc,
+       24061-multiset.cc: Add checks on the number of bucket elements.
+       * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc,
+       multiset_single.cc, multiset_single_move.cc: Likewise.
+
+2011-11-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * include/std/functional (is_placeholder, is_bind_expression): Add
+       partial specializations for cv-qualified types.
+       * include/tr1/functional (is_placeholder, is_bind_expression): Add
+       partial specializations for std::bind and std::placeholders and for
+       cv-qualified types.
+       * testsuite/20_util/bind/cv_quals_3.cc: New.
+       * testsuite/tr1/3_function_objects/bind/cv_quals.cc: New.
+       * testsuite/tr1/3_function_objects/bind/mixed.cc: New.
+
+2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
+
+       * configure: Regenerate.
+
 2011-11-21  Daniel Krugler  <daniel.kruegler@googlemail.com>
 
        PR libstdc++/51185