+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
+ to new_called.
+ (check_delete): Likewise for delete_called.
+
+2007-05-21 Paolo Carlini <pcarlini@suse.de>
+
+ * config/locale/gnu/c_locale.h: Do not include <cstdarg>, use builtins.
+ * config/locale/generic/c_locale.h: Likewise.
+
+2007-05-21 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/31621
+ * acinclude.m4 ([GLIBCXX_CHECK_LINKER_FEATURES]): Use the C compiler.
+ * configure: Regenerate.
+
+2007-05-20 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algo.h: Shuffle the functions to better match the
+ order in the standard.
+
+2007-05-17 Paolo Carlini <pcarlini@suse.de>
+
+ * config/locale/gnu/c_locale.h: Do not include <libintl.h>.
+ * config/locale/gnu/messages_members.h: Do it here.
+
+ * config/locale/gnu/c_locale.h: Do not include <cstdio>, use
+ the builtins.
+ * config/locale/generic/c_locale.h: Likewise.
+
+2007-05-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Add -g to
+ compile flags, move code to test to global scope.
+ * configure: Regenerate.
+
+2007-05-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc:
+ Fix dg bits.
+ * testsuite/21_strings/char_traits/requirements/char/typedefs.cc: Same.
+
+2007-05-17 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algobase.h (mismatch): Move...
+ * include/bits/stl_algo.h: ... here.
+
+2007-05-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/tr1/cmath: Guard special math with
+ __GXX_EXPERIMENTAL_CXX0X__.
+ * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
+ Remove xfail.
+
+2007-05-17 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/locale_facets.tcc (__pad<>::_S_pad): Minor tweaks, avoid
+ unnecessary casts, do widenings just in time.
+
+2007-05-16 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Add a function
+ to the test code compiled with -ffunction-sections -fdata-sections.
+ * configure: Regenerate.
+
+ * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Remove
+ _GLIBCXX_USE_WCHAR_T guards as superfluous.
+
+ * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Add
+ _GLIBCXX_USE_WCHAR_T guards.
+ * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Same.
+ * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Same.
+ * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Same.
+
+ * testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc:
+ Add.
+ * testsuite/21_strings/char_traits/typedefs/char/1.cc: Move...
+ * testsuite/21_strings/char_traits/requirements/char/typedefs.cc:
+ ...here.
+ * testsuite/21_strings/char_traits/typedefs: Remove.
+ * testsuite/21_strings/char_traits/typedefs/char: Remove.
+
+2007-05-16 Benjamin Kosnik <bkoz@redhat.com>
+
+ * docs/html/abi.html: Update for gcc-4.1.2 and gcc-4.2.0.
+
+2007-05-14 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * testsuite/tr1/5_numerical_facilities/special_functions/
+ 17_hyperg/check_nan.cc: Add -mieee for sh.
+
+2007-05-14 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/util/testsuite_io.h: Only include <ios>.
+
+2007-05-14 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/allocator.h: Do not include cpp_type_traits.h.
+
+2007-05-14 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/postypes.h (class fpos<>): Remove redundant forward
+ declaration.
+
+2007-05-13 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_tempbuf.h (return_temporary_buffer(_Tp*)): Inline.
+
+2007-05-13 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traitsfwd.h: Fix include guard typo.
+
+2007-05-11 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/pod_char_traits.h (char_traits<>::move):
+ Use __builtin_memmove.
+ * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name,
+ collate_byname(const char*, size_t)): Use __builtin_strcmp.
+ * include/bits/locale_facets.h: Use __builtin_mem* and
+ __builtin_str* everywhere.
+ * include/bits/codecvt.h (codecvt_byname(const char*, size_t)):
+ Use __builtin_strcmp.
+ * include/bits/char_traits.h: Use __builtin_mem* everywhere.
+ * include/bits/fstream.tcc (basic_filebuf<>::underflow, imbue):
+ Use __builtin_memcpy and __builtin_memmove.
+ * include/bits/locale_facets_nonio.h (moneypunct_byname(const char*,
+ size_t __refs)): Use __builtin_strcmp.
+ * include/std/bitset (bitset<>::_M_do_reset): Use __builtin_memset.
+ * config/locale/gnu/c_locale.h: Use __builtin_strlen, __builtin_strcmp,
+ and __builtin_memcpy.
+ * config/locale/gnu/messages_members.h: Likewise.
+ * config/locale/gnu/time_members.h: Likewise.
+ * config/locale/generic/c_locale.h: Likewise.
+ * config/locale/generic/messages_members.h: Likewise.
+ * config/locale/generic/time_members.h: Likewise.
+ * config/os/gnu-linux/ctype_noninline.h: Likewise, avoid strdup.
+ * config/os/tpf/ctype_noninline.h: Likewise.
+ * config/locale/generic/codecvt_members.cc: Include <cstring>.
+ * config/locale/generic/ctype_members.cc: Likewise.
+ * config/locale/generic/collate_members.cc: Likewise.
+ * config/locale/gnu/c++locale_internal.h: Likewise.
+ * config/locale/darwin/ctype_members.cc: Likewise.
+ * src/ctype.cc: Likewise.
+ * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
+ * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
+ * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
+ * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
+ * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
+ * config/locale/gnu/messages_members.cc: Avoid strdup.
+ * config/locale/gnu/monetary_members.cc: Likewise.
+ * config/locale/gnu/time_members.cc: Likewise.
+ * config/locale/gnu/time_members.cc: Likewise.
+ * config/locale/generic/c_locale.cc: Likewise.
+
+2007-05-11 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/std/stdexcept: Remove extra spacing.
+
+ * testsuite/19_diagnostics/stdexceptions.cc: Break into...
+ * testsuite/19_diagnostics/bad_exception: ...this. Populate.
+ * testsuite/19_diagnostics/logic_error: ... this.
+ * testsuite/19_diagnostics/logic_error/what-1.cc: ...this.
+ * testsuite/19_diagnostics/logic_error/what-2.cc: ...this.
+ * testsuite/19_diagnostics/runtime_error: ...this.
+ * testsuite/19_diagnostics/runtime_error/what-1.cc: ...this.
+ * testsuite/19_diagnostics/runtime_error/what-2.cc: ...this.
+ * testsuite/19_diagnostics/runtime_error/what-3.cc: ...this.
+ * testsuite/19_diagnostics/23591_thread-1.c: Move...
+ * testsuite/19_diagnostics/bad_exception/23591_thread-1.c: ...here.
+
2007-05-10 Paolo Carlini <pcarlini@suse.de>
* 27_io/objects/wchar_t/11.cc: Include <cstring>.