OSDN Git Service

2007-06-01 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
index 0c66fea..463cbf6 100644 (file)
@@ -1,3 +1,285 @@
+2007-06-01  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * include/ext/throw_allocator.h (__throw_allocator::allocate):
+       Throw bad_alloc for out of memory conditions.   
+       * testsuite/ext/throw_allocator/deallocate_global.cc: New.
+       * testsuite/ext/throw_allocator/check_delete.cc: Same.
+       * testsuite/ext/throw_allocator/check_allocate_max_size.cc: Same.
+       * testsuite/ext/throw_allocator/check_deallocate_null.cc: Same.
+       * testsuite/ext/throw_allocator/explicit_instantiation.cc: Same.
+       * testsuite/ext/throw_allocator/check_new.cc: Same.
+       * testsuite/ext/throw_allocator/deallocate_local.cc: Same.
+
+2007-05-31  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/31426
+       * include/bits/c++config: Remove namespace association bits
+       from tr1 to std.
+
+       * include/ext/type_traits.h (__promote, __promote2,
+       __promote3, __promote4): Add.
+
+       * include/bits/hashtable.h: New.
+       * include/bits/functional_hash.h: Likewise.
+       * include/tr1/hashtable.h: Likewise.
+
+       * include/tr1_impl/random: New.
+       * include/tr1_impl/cinttypes: Likewise.
+       * include/tr1_impl/cstdlib: Likewise.
+       * include/tr1_impl/unordered_map: Likewise.
+       * include/tr1_impl/cstdio: Likewise.
+       * include/tr1_impl/boost_shared_ptr.h: Likewise.
+       * include/tr1_impl/cctype: Likewise.
+       * include/tr1_impl/random.tcc: Likewise.
+       * include/tr1_impl/tuple: Likewise.
+       * include/tr1_impl/functional_hash.h: Likewise.
+       * include/tr1_impl/hashtable: Likewise.
+       * include/tr1_impl/cmath: Likewise.
+       * include/tr1_impl/type_traitsfwd.h: Likewise.
+       * include/tr1_impl/hashtable_policy.h: Likewise.
+       * include/tr1_impl/cfenv: Likewise.
+       * include/tr1_impl/unordered_set: Likewise.
+       * include/tr1_impl/functional: Likewise.
+       * include/tr1_impl/utility: Likewise.
+       * include/tr1_impl/complex: Likewise.
+       * include/tr1_impl/type_traits: Likewise.
+       * include/tr1_impl/cwchar: Likewise.
+       * include/tr1_impl/cstdint: Likewise.
+       * include/tr1_impl/regex: Likewise.
+       * include/tr1_impl/array: Likewise.
+       * include/tr1_impl/cwctype: Likewise.
+
+       * include/tr1/type_traitsfwd.h: Remove.
+       * include/tr1/boost_shared_ptr.h: Likewise.
+       * include/tr1/common.h: Likewise.
+       * include/tr1/hashtable: Likewise.
+       * include/tr1/hashtable_policy.h: Likewise.
+       * include/tr1/random.tcc: Likewise.
+
+       * include/c_global/cinttypes: Include tr1_impl/cinttypes.
+       * include/c_global/cstdlib: Likewise for cstdlib.
+       * include/c_global/cstdio: Likewise for cstdio.
+       * include/c_global/cctype: Likewise for cctype.
+       * include/c_global/cmath: Likewise for cmath.
+       * include/c_global/cfenv: Likewise for cfenv.
+       * include/c_global/cwchar: Likewise for cwchar.
+       * include/c_global/cstdint: Likewise for cstdint.
+       * include/c_global/cwctype: Likewise for cwctype.
+       * include/tr1/cinttypes: Likewise for cinttypes.
+       * include/tr1/cstdlib: Likewise for cstdlib.
+       * include/tr1/cstdio: Likewise for cstdio.
+       * include/tr1/cctype: Likewise for cctype.
+       * include/tr1/cmath: Likewise for cmath.
+       * include/tr1/cfenv: Likewise for cfenv.
+       * include/tr1/cwchar: Likewise for cwchar.
+       * include/tr1/cstdint: Likewise for cstdint.
+       * include/tr1/cwctype: Likewise for cwctype.
+       * include/tr1/functional_hash.h: Likewise for functional_hash.
+
+       * include/std/tuple: Include tr1_impl/tuple.
+       * include/std/utility: Likewise for utility.
+       * include/std/type_traits: Likewise for type_traits.
+       (is_pod): Just forward to __is_pod.
+       (has_trivial_default_constructor): Just forward to
+       __has_trivial_constructor.
+       (has_trivial_copy_constructor): Just forward to __has_trivial_copy.
+       (has_trivial_assign): Just forward to __has_trivial_assign.
+       (has_trivial_destructor): Just forward to __has_trivial_destructor.
+       (has_nothrow_default_constructor): Just forward to
+       __has_nothrow_constructor.
+       (has_nothrow_copy_constructor): Just forward to __has_nothrow_copy.
+       (has_nothrow_assign): Just forward to __has_nothrow_assign.
+       (is_base_of): Just forward to __is_base_of.
+       (is_signed, is_unsigned): Implement according to the C++0x
+       specifications.
+       * include/std/memory: Likewise for memory.
+       * include/std/regex: Likewise for regex.
+       * include/std/random: Likewise for random.
+       * include/std/unordered_map: Likewise for unordered_map.
+       * include/std/unordered_set: Likewise for unordered_set.
+       * include/std/functional: Likewise for functional.
+       * include/std/complex: Likewise for complex.
+       * include/std/array: Likewise for array.
+       * include/tr1/tuple: Likewise for tuple.
+       * include/tr1/utility: Likewise for utility.
+       * include/tr1/type_traits: Likewise for type_traits
+       * include/tr1/memory: Likewise for memory.
+       * include/tr1/regex: Likewise for regex.
+       * include/tr1/random: Likewise for random.
+       * include/tr1/unordered_map: Likewise for unordered_map.
+       * include/tr1/unordered_set: Likewise for unordered_set.
+       * include/tr1/functional: Likewise for functional.
+       * include/tr1/complex: Likewise for complex.
+       * include/tr1/array: Likewise for array.
+
+       * include/c_global/ctgmath: Tweak.
+       * include/c_global/cstdarg: Likewise.
+       * include/c_global/ctime: Likewise.
+       * include/c_global/climits: Likewise.
+       * include/c_global/cfloat: Likewise.    
+       * include/c_global/ccomplex: Likewise.
+       * include/c_global/cstdbool: Likewise.
+
+       * include/tr1/poly_laguerre.tcc: Tweak, don't use _GLIBCXX_TR1.
+       * include/tr1/riemann_zeta.tcc: Likewise.
+       * include/tr1/beta_function.tcc: Likewise.
+       * include/tr1/exp_integral.tcc: Likewise.
+       * include/tr1/hypergeometric.tcc: Likewise.
+       * include/tr1/modified_bessel_func.tcc: Likewise.
+       * include/tr1/legendre_function.tcc: Likewise.
+       * include/tr1/special_function_util.h: Likewise.
+       * include/tr1/bessel_function.tcc: Likewise.
+       * include/tr1/poly_hermite.tcc: Likewise.
+       * include/tr1/ell_integral.tcc: Likewise.
+       * include/tr1/gamma.tcc: Likewise.
+       * include/tr1/stdlib.h: Likewise.
+       * include/tr1/math.h: Likewise.
+
+       * include/tr1/complex.h: Minor tweaks.
+       * include/tr1/wctype.h: Likewise.
+       * include/tr1/wchar.h: Likewise.
+       * include/tr1/inttypes.h: Likewise.
+       * include/tr1/tgmath.h: Likewise.
+       * include/tr1/cstdbool: Likewise.
+       * include/tr1/cfloat: Likewise.
+       * include/tr1/ccomplex: Likewise.
+       * include/tr1/ctime: Likewise.
+       * include/tr1/climits: Likewise.
+       * include/tr1/ctgmath: Likewise.
+       * include/tr1/cstdarg: Likewise.
+
+       * testsuite/tr1/headers.cc: Move...
+       * testsuite/tr1/headers/all.cc: ... here.
+       * testsuite/tr1/using_namespace_std_tr1.cc: Move...
+       * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: ... here.
+       * testsuite/tr1/headers/using_namespace_std_tr1.cc ... here.
+       * testsuite/tr1/headers/c++200x/using_namespace_std_tr1.cc: New.
+
+       * testsuite/20_util/tuple/requirements/explicit_instantiation.cc:
+       Adjust namespace.
+       * testsuite/20_util/has_nothrow_copy_constructor/value.cc: Adjust to
+       the C++0x requirements.
+       * testsuite/20_util/has_nothrow_default_constructor/value.cc: Likewise.
+       * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
+       * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise.
+
+       * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
+       dg-error lines.
+       * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+       Likewise.
+       * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
+       Un-xfail.
+
+       * testsuite/20_util/is_signed/value.cc: New.
+       * testsuite/20_util/is_signed/requirements/typedefs.cc: Likewise.
+       * testsuite/20_util/is_signed/requirements/explicit_instantiation.cc:
+       Likewise.
+       * testsuite/20_util/is_unsigned/value.cc: Likewise..
+       * testsuite/20_util/is_unsigned/requirements/typedefs.cc: Likewise.
+       * testsuite/20_util/is_unsigned/requirements/explicit_instantiation.cc:
+       Likewise.
+
+       * include/Makefile.am: Adjust.  
+       * include/Makefile.in: Regenerate.
+
+2007-05-31  Paolo Carlini  <pcarlini@suse.de>
+
+       PR c++/32158 (libstdc++ bits)
+       * include/bits/stl_uninitialized.h (__uninitialized_copy_aux,
+       __uninitialized_fill_aux, __uninitialized_fill_n_aux):
+       Remove.
+       (struct __uninitialized_copy, struct __uninitialized_fill,
+       struct __uninitialized_fill_n): Add.
+       (uninitialized_copy, uninitialized_fill, uninitialized_fill_n):
+       Adjust.
+       * testsuite/20_util/specialized_algorithms/32158.cc: New.
+
+       * include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
+       _InputIterator, _ForwardIterator)): Robustify vs non-POD input.
+
+       * include/bits/stl_vector.h (_M_fill_initialize): New.
+       (vector(size_type, const value_type&, const allocator_type&),
+       _M_initialize_dispatch(_Integer, _Integer, __true_type)): Use it.
+       * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
+       Adjust dg-error line.
+       * testsuite/23_containers/vector/requirements/dr438/insert_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.
+
+2007-05-29  Paolo Carlini  <pcarlini@suse.de>
+
+       * aclocal.m4: Regenerate.
+
+       * testsuite/17_intro/headers/c++1998/c++_for_c.tar: Remove.
+       * testsuite/17_intro/headers/c++1998/c++.tar: Likewise.
+
+2007-05-28  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/31717 
+       * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Re-organize. Sanity check
+       gnu locale model requests to make sure it will work for the requested
+       target. Add checks for strxfrm_l, strerror_l when in gnu locale,
+       and strerror_r everywhere.
+       * aclocal.m4: Regenerated.
+       * configure: Regenerated.
+       * config.h.in: Regenerated.
+       
+2007-05-27  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/tr1/boost_shared_ptr.h
+       (_Sp_counted_base<_S_mutex>::_M_add_ref_lock()): Do not wrap in
+       #ifdef __GTHREADS.
+
+2007-05-27  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/c_global/cwchar: Do not include <ctime>.
+       * include/c_std/cwchar: Likewise.
+       * include/ext/throw_allocator.h: Do it here.
+       
+2007-05-25  Paolo Carlini  <pcarlini@suse.de>
+
+       * config/locale/gnu/c_locale.h (__convert_from_v): Fix typo.
+
+2007-05-24  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/ext/concurrence.h: Use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_*.
+
+2007-05-24  Steve Ellcey  <sje@cup.hp.com>
+
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * aclocal.m4: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * libmath/Makefile.in: Regenerate.
+       * libsupc++/Makefile.in: Regenerate.
+       * po/Makefile.in: Regenerate.
+       * src/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2007-05-24  Paolo Carlini  <pcarlini@suse.de>
+
+       * config/locale/gnu/c_locale.h (__convert_from_v): Only switch to the
+       "C" locale if the current one isn't already "C" (for old glibcs).
+       * config/os/gnu-linux/ctype_noninline.h (ctype<char>::classic_table,
+       ctype<char>::ctype(__c_locale, const mask*, bool, size_t),
+       ctype<char>::ctype(const mask*, bool, size_t)): Likewise, for generic
+       locale model.
+       * config/locale/gnu/messages_members.h
+       (messages<>::messages(__c_locale, const char*, size_t),
+       messages_byname<_CharT>::messages_byname(const char*, size_t)):
+       Only dynamically allocate memory if __s != "C".
+       * config/locale/gnu/time_members.h
+       (__timepunct<_CharT>::__timepunct(__c_locale, const char*, size_t)):
+       Likewise.
+       * config/locale/generic/time_members.h
+       (__timepunct<_CharT>::__timepunct(__c_locale, const char*, size_t)):
+       Likewise.
+
+       * testsuite/util/testsuite_allocator.h: Revert last change.
+
 2007-05-22  Paolo Carlini  <pcarlini@suse.de>
 
        * testsuite/util/testsuite_allocator.h (check_new): Assign false