OSDN Git Service

PR libstdc++/24803
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
index 10f226d..47eaf49 100644 (file)
@@ -1,3 +1,233 @@
+2008-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/24803
+       PR libstdc++/37351
+       * include/tr1_impl/functional (result_of,reference_wrapper): Update
+       to use C++0x features.
+       * testsuite/20_util/function_objects/return_types/result_of.cc: New.
+       * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
+       New.
+       * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
+       New.
+       * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
+
+2008-11-03  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
+       iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
+       * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
+       * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
+
+2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/37958 (cont again)
+       * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
+       iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
+       * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
+       * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
+
+2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
+       num_get<>::do_get(, unsigned short&),
+       num_get<>::do_get(, unsigned int&),
+       num_get<>::do_get(, unsigned long&),
+       num_get<>::do_get(, long long&),
+       num_get<>::do_get(, unsigned long long&),
+       num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
+       num_put<>::do_put(, long long),
+       num_put<>::do_put(, unsigned long long)): Move inline...
+       * include/bits/locale_facets.h: ... here.
+
+2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/37958 (cont)
+       * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
+       iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
+
+2008-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+        * include/bits/shared_ptr.h: Update comparisons to match WP.
+        (_Sp_counted_ptr): Make copy and assignment members deleted.
+        (_Sp_counted_deleter): Remove private copy and assignment members.
+        (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
+        friend operator< with overloaded _M_less member functions to allow
+        comparison with either shared_count or weak_count.
+        (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
+        (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
+        for ownership-based ordering.
+        (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
+        make non-friend.
+        (operator==(__shared_ptr,__shared_ptr)): Make non-friend.
+        (operator!=(__shared_ptr,__shared_ptr)): Likewise.
+        (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
+        pointer specialization.
+        (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
+        weak_ptr::operator>=): Remove operator< and delete all comparisons.
+        (_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
+        (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
+        (operator==(shared_ptr,shared_ptr): Likewise.
+        (operator!=(shared_ptr,shared_ptr): Likewise.
+        (swap(shared_ptr,shared_ptr)): Fix parameter types.
+        (swap(weak_ptr,weak_ptr)): Add missing overload.
+        * testsuite/20_util/owner_less/cmp.cc: New.
+        * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
+        * testsuite/20_util/shared_ptr/comparison/less.cc: New.
+        * testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
+        * testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
+        * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.
+
+2008-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/37958
+       * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
+       iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
+       * testsuite/22_locale/num_get/get/char/37958.cc: New.
+       * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
+
+2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/37919
+       Revert:
+       2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>
+
+       * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
+       (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
+       Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
+       Remove the old variadic constructor, and instead provide several
+       variadic constructors that avoid failing when attempting to
+       initialize a pointer from a null pointer constant.
+       * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
+       initialization of pointers from the null pointer constant.
+
+2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/37522
+       * config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
+       * include/bits/basic_string.h: Guard string conversions with 
+       !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
+       * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
+       New.
+       * testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
+       Use the latter.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/
+       stoull.cc: Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
+       Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/
+       to_string.cc: Likewise.
+       * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
+       Likewise.
+
+2008-10-24  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * config/os/generic/error_constants.h (enum errc): Remove
+       no_posix_equivalent.
+       * config/os/mingw32/error_constants.h (enum errc): Likewise.
+       * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
+       Adjust.
+
+2008-10-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
+       (RUNTESTDEFAULTFLAGS, EXPECT, check_DEJAGNU_normal_targets): New
+       variables.
+       (%/site.exp, check-DEJAGNU%): New targets.
+       (check-am): Run $(MAKE) check-DEJAGNU.
+       * testsuite/Makefile.in: Regenerated.
+
+2008-10-23  Chris Fairles  <cfairles@gcc.gnu.org>
+
+       * config/os/generic/error_constants.h (errc): Use long type.
+       * config/os/mingw32/error_constants.h (errc): Likewise.
+
+2008-10-22  Chris Fairles  <cfairles@gcc.gnu.org>
+
+       * include/std/system_error (is_error_code_enum): Specialize for errc.
+       (error_category::error_category): Defaulted and protected.
+       (error_category::~error_category): New, virtual.
+       (error_category::error_category(const error_category&), 
+       error_category::operator=(const error_category&)): Deleted.
+       (get_system_category, get_posix_category): Remove (DR 890).
+       (system_category): External linkage (DR 890).
+       (posix_category): Remove.
+       (generic_category): Add. External linkage (DR 890).
+       (error_code::error_code<>(_ErrorCodeEnum)): Use generic_category.
+       (error_code::clear, error_code::operator=<>(_ErrorCodeEnum)): Forward to
+       error_code::assign, use generic_category.
+       (error_condition::error_condition, 
+       error_condition::error_condition<>(_ErrorConditionEnum)): Use 
+       generic_category.
+       (error_condition::clear, 
+       error_condition::operator=<>(_ErrorConditionEnum)): Forward to 
+       error_code::assign, use generic_category.
+       (make_error_code, make_error_condition): Define in namespace std.
+       * include/std/mutex (unique_lock<>::lock, unique_lock<>::try_lock,
+       unique_lock<>::try_lock_until<>(duration),
+       unique_lock<>::try_lock_for<>(duration)): Replace posix_error with errc.
+       * src/system_error.cc (system_error_category, generic_error_category):
+       New.
+       (gnu_error_category): Remove.
+       (get_system_category, get_posix_category): Remove (DR 890).
+       (system_category, generic_category): Define.
+       * src/functexcept.cc (__throw_system_error): Use generic_category.
+       * config/abi/pre/gnu.ver: Export system_category and generic_category,
+       remove get_system_category and get_generic_category (DR 890).
+       * config/os/generic/error_constants.h (posix_errno): Rename to errc, use
+       enum class type. Fix spelling.
+       * config/os/mingw32/error_constants.h (posix_errno): Likewise.
+       * testsuite/19_diagnostics/error_code/cons/1.cc: Use errc and 
+       generic_category.
+       * testsuite/19_diagnostics/error_code/operators/bool.cc: Use errc.
+       * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
+       * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
+       * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Update 
+       dg-error line numbers.
+       * testsuite/19_diagnostics/error_condition/cons/1.cc: Use 
+       generic_category.
+       * testsuite/19_diagnostics/error_condition/operators/bool.cc: Use errc.
+       * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise.
+       * testsuite/19_diagnostics/error_condition/operators/not_equal.cc: 
+       Likewise.
+       * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: New.
+       * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc: 
+       Remove using tests since errc is not a namespace.
+       * testsuite/19_diagnostics/system_error/cons-1.cc: Use errc.
+       * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
+       Likewise.
+       * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
+       
+2008-10-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/tr1_impl/hashtable_policy.h (_Hash_node<>::_Hash_node<>
+       (_Args&&...)): Add in C++0x mode.
+       * include/tr1_impl/hashtable (_Hashtable<>::_M_allocate_node,
+       _Hashtable<>::_M_deallocate_node): Use _M_get_Node_allocator in
+       C++0x mode.
+
+       * include/tr1_impl/hashtable (_Hashtable<>::max_size): Use
+       Node_allocator for improved accuracy.
+       * testsuite/tr1/6_containers/unordered_multimap/capacity/
+       29134-multimap.cc: Adjust.
+       * testsuite/tr1/6_containers/unordered_multimap/capacity/
+       29134-map.cc: Likewise.
+       * testsuite/tr1/6_containers/unordered_multimap/capacity/
+       29134-multiset.cc: Adjust.
+       * testsuite/tr1/6_containers/unordered_multimap/capacity/
+       29134-set.cc: Likewise.
+
 2008-10-19  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * include/bits/stl_tree.h (_Rb_tree_node<>::_Rb_tree_node<>