2005-04-20  Release Manager

	* GCC 4.0.0 released.

2005-04-20  Mark Mitchell  <mark@codesourcery.com>

	* testsuite/ext/bitmap_allocator/check_allocate_max_size.cpp: Add
	explicit instantiations for systems without weak symbols.
	* testsuite/ext/bitmap_allocator/check_deallocate_null.cc:
	Likewise. 

2005-04-17  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Set default for linux
	and bsd to new_allocator.
	* configure: Regenerate.

2005-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/bitmap_allocator.h
	(__gnu_cxx::free_list::_M_get_mutex): New.
	(__gnu_cxx::free_list::_M_get_free_list): New.
	(__gnu_cxx::free_list::_S_bfl_mutex): Remove.
	(__gnu_cxx::free_list::_S_free_list): Remove.
	* src/bitmap_allocator.cc: Same.
	* config/linker-map.gnu: Remove free_list and mutex export.

2005-04-08  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/20909
	* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
	Don't even try to group numbers like 2e20, i.e., no decimal
	point, scientific notation.
	* testsuite/22_locale/num_put/put/char/20909.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.

2005-04-08  Danny Smith  <dannysmith@users.sourceforge.net>
	    Paolo Carlini  <pcarlini@suse.de>
	    		
	PR libstdc++/20806
	* config/os/mingw32/os_defines.h: Define
	_GLIBCXX_HAVE_DOS_BASED_FILESYSTEM.
	* config/os/newlib/os_defines.h: Likewise, for __CYGWIN__.
	* include/bits/fstream.tcc (basic_filebuf<>::showmanyc()):
	Use it.
	(basic_filebuf<>::xsgetn(_CharT*, streamsize)): Likewise.

2005-04-06  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/cpu/s390/atomicity.h (__exchange_and_add): Add "memory"
	clobber to inline assembly statement.

2005-04-05  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/tr1/memory, include/tr1/boost_shared_ptr.h: Use mutex
	to make _Sp_counted_base::add_ref_lock() thread-safe. Check whether
	to destroy resources by testing for equality, not inequality. Add
	empty critical sections to solve memory visibility issues.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/auto_ptr_neg.cc: Use dg-excess-errors instead of
	explicitly listing line numbers which need to be kept in sync.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/auto_ptr_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/auto_ptr_rvalue_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/weak_ptr_expired.cc: Make XFAIL for consistency when
	-fno-exceptions.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/not_shared.cc: Add explanatory comments.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/not_shared2.cc: Same.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/not_shared3.cc: Same.

2005-04-02  Douglas Gregor  <doug.gregor@gmail.com>
	
	* include/tr1/tuple_iterate.h (tuple_element): Use new macro
	_GLIBCXX_T_NUM_ARGS_PLUS_1 because _T is a macro on Darwin.
	* include/tr1/repeat.h (_GLIBCXX_T_NUM_ARGS_PLUS_1): Define for
	each iteration.
	* scripts/gen_includers.h: Define _GLIBCXX_T_NUM_ARGS_PLUS_1 for
	each iteration.
	
2005-04-01  Douglas Gregor  <doug.gregor@gmail.com>

	* include/tr1/functional (_Maybe_wrap_member_pointer): Wrap up
	member pointers in _Mem_fn but let other function objects pass
	through unchanged.
	* include/tr1/functional_iterator (bind): Reduce number of bind()
	overloads to two to eliminate ambiguities. Use
	_Maybe_wrap_member_pointer to handle member pointers gracefully.
	
2005-03-31  Chris Jefferson  <chris@bubblescope.net>

        * include/tr1/tuple: Support iteration via tuple_iterate.h.
        * include/tr1/tuple_iterate.h: Iteration file for tuple.

2005-03-31  Douglas Gregor  <doug.gregor@gmail.com>

        * include/Makefile.am (tr1_headers): Add bind and mu repetition
        headers and reference_wrapper<> forwarding header.
        * include/Makefile.in: Regenerate.
        * include/tr1/bind_iterate.h: Implementation of function call
        operators for the function object returned from tr1::bind().
        * include/tr1/bind_repeat.h: Bind-specific repetition header,
        akin to include/tr1/repeat.h.
        * include/tr1/functional (_Mem_fn): Bug fix: declare result member
        template for use with result_of.
        (is_bind_expression): New.
        (is_placeholder): New.
        (_Placeholder): New. Placeholder type for bind.
        (_Mu): New. Implementation detail of bind.
        (_Bind, _Bind_result): New. Function objects returned by bind.
        (_GLIBCXX_JOIN): New. Required to create bind placeholders.
        * include/tr1/functional_iterate.h (_Bind, _Bind_result, bind):
        New. Implementation of tr1::bind.
        * include/tr1/mu_iterate.h (_Mu): result template and operator()
        for the _Mu helper to bind.
        * include/tr1/ref_fwd.h (reference_wrapper): Forward declaration
        used by tuple header.
        (ref): Ditto.
        (cref): Ditto.
        * include/tr1/repeat.h: Add bind-specific repetition macros.
        * include/tr1/tuple: Use reference_wrapper forwarding header for
        initial definitions, then include <tr1/functional> at the end, to
        make the circular dependencies work.
        (tie): Support zero-argument tie() function.
        * testsuite/tr1/3_function_objects/bind/all_bound.cc: New test of
        bind() functionality with parameters bound.
        * testsuite/tr1/3_function_objects/bind/nested.cc: New test of
        nested bind() expressions.
        * testsuite/tr1/3_function_objects/bind/placeholders.cc: New test
        of bind() placeholders.
        * testsuite/tr1/3_function_objects/bind/ref.cc: New test of bind()
        with arguments bound via reference_wrapper<>.
        * scripts/gen_includers.pl: Generate the repetitive part of
	include/tr1/repeat.h.
	* scripts/gen_bind_includers.pl: Generate the repetitive part of
	include/tr1/bind_repeat.h. 
	
2005-03-24  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1/memory: Forward to...
	* include/tr1/boost_shared_ptr.h: ...here. Add Boost Software License.
	* include/Makefile.am (tr1_headers): Add boost_shared_ptr.h.
	* include/Makefile.in: Regenerate.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
	auto_ptr_neg.cc: Adjust line numbers.

2005-03-22  Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/20577
	* include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
	to swap when the iterator's reference_type is a reference to its
	value_type.
	* testsuite/25_algorithms/iter_swap/20577.cc: New.

2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/20352
	* include/std/std_complex.h (pow(const complex<_Tp>&,
	const _Tp&)): On non-c99 platforms, don't try to compute
	log of complex zero.

2005-03-17  Benjamin Kosnik  <bkoz@redhat.com>

        * testsuite/testsuite_abi.cc: Add CXXABI_1.3.1.

2005-03-08  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_polymorphic): Don't forget
	the virtual destructor, thus avoiding warnings.
	* testsuite/testsuite_tr1.h (class AbstractClass,
	class PolymorphicClass): Likewise.

2005-03-08  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_complex.h (pow(const complex<_Tp>&,
	const complex<_Tp>&)): Dispatch to either __complex_pow(__x.__rep(),
	__y.__rep()) or __complex_pow(__x, __y) depending on the macro
	_GLIBCXX_USE_C99_COMPLEX.

2005-03-08  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_fstream.h (basic_fstream<>::open,
	basic_ifstream<>::open, basic_ofstream<>::open): Implement the
	resolution of DR 409 [Ready], call clear() on success.
	* docs/html/ext/howto.html: Add an entry for DR 409.
	* docs/html/faq/index.html (4_4): Clarify the new behavior.
	* testsuite/27_io/basic_ifstream/open/char/1.cc: Adjust.
	* testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.

2005-03-06  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Add is_base_of.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_base_of/is_base_of.cc: New.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_base_of/typedefs.cc: Likewise.

2005-03-05  Joseph S. Myers  <joseph@codesourcery.com>

	* testsuite/22_locale/collate/compare/wchar_t/2.cc,
	testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
	testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
	testsuite/22_locale/collate/hash/wchar_t/2.cc,
	testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
	testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
	testsuite/22_locale/collate/transform/wchar_t/2.cc,
	testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
	testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
	XFAIL on *-*-hpux11.23.

2005-03-04  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_polymorphic.
	(is_empty): Minor tweaks.
	* testsuite/testsuite_tr1.h: Add test types.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_polymorphic/is_polymorphic.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_polymorphic/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_union_or_class/is_union_or_class.cc: Add tests.

2005-03-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1/functional: Convert relative path.

	* docs/doxygen/user.cfg.in: Add tr1 includes.

2005-03-02  Jonathan Wakely  <redi@gcc.gnu.org>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/tr1/2_general_utilities/memory/shared_ptr/
	cons/auto_ptr_neg.cc: Correct line numbers.

2005-03-02  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/tr1/memory: Replace checked_deleter with (unchecked)
	_Sp_deleter as GCC warns about delete on incomplete types anyway.

2005-03-02  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/tr1/memory: Add missing "inline" to __throw_bad_weak_ptr.

2005-03-02  Douglas Gregor  <doug.gregor@gmail.com>

	* include/tr1/functional (_Has_result_type): Cleanup.
	(_Result_of_impl): Handle member data pointers correctly.
	(reference_wrapper): Support invocation.
	Move repetition code into new file include/tr1/repeat.h.
	* include/tr1/functional_iterate.h (reference_wrapper): Support
	invocation.  Cleanup long lines.
	* include/tr1/ref_wrap_iterate.h (reference_wrapper): Declare
	invocation operators.
	* include/tr1/repeat.h: Code repetition header.
	* include/Makefile.am: Add ref_wrap_iterate.h, repeat.h.
	* include/Makefile.in: Add ref_wrap_iterate.h, repeat.h.
	* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
	New test of reference_wrapper invocation.
	* testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
	New test of reference_wrapper typedefs and base classes.
	* testsuite/tr1/3_function_objects/result_of.cc: Trivial cleanup
	(e-mail address).

2005-03-02  Douglas Gregor  <doug.gregor@gmail.com>

	* include/tr1/function (result_of): New class template.
	* include/tr1/functional/iterator.h: Implementation of TR1
	result_of.
	* testsuite/tr1/3_function_objects/result_of.cc: New test

2005-03-01  Hans-Peter Nilsson  <hp@axis.com>

	PR target/19065
	* config/cpu/cris/atomicity.h (__exchange_and_add): In asm, use
	'Q' constraint, not 'm'.

2005-02-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Add the trivial is_union and is_class;
	add the __is_union_or_class extension.
	(is_enum, is_empty): Use the latter.
	* include/tr1/type_traits_fwd.h: Add __is_union_or_class.
	* testsuite/testsuite_tr1.h: Add UnionType; trivial formatting
	fixes.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_union_or_class/is_union_or_class.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_union_or_class/typedefs.cc: Likewise.

2005-02-24  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Guard
	wchar_t use with _GLIBCXX_USE_WCHAR_T.

2005-02-24  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_complex.h: _GLIBCXX_USE_C99_COMPLEX_MATH to
	_GLIBCXX_USE_C99_COMPLEX.
	* acinclude.m4: Same.
	* acconfig.h: Same.
	* configure: Regenerate.
	* config.h.in: Same.
	
2005-02-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional (mem_fn): Avoid _T, badname on
	Darwin.

2005-02-23  Douglas Gregor  <doug.gregor@gmail.com>

	* include/tr1/functional (function): New class template.
	(mem_fn): New function template.
	Implementations of TR1 function and mem_fn facilities.
	* include/tr1/functional_iterate.h: Implementations of TR1
	function and mem_fn facilities. 
	* testsuite/tr1/3_function_objects/function/1.cc: New
	test of std::tr1::function.
	* testsuite/tr1/3_function_objects/function/2.cc: New
	test of std::tr1::function.
	* testsuite/tr1/3_function_objects/function/3.cc: New
	test of std::tr1::function.
	* testsuite/tr1/3_function_objects/function/4.cc: New
	test of std::tr1::function.
	* testsuite/tr1/3_function_objects/function/5.cc: New
	test of std::tr1::function.
	* testsuite/tr1/3_function_objects/function/6.cc: New
	test of std::tr1::function.
	* testsuite/tr1/3_function_objects/function/7.cc: New
	test of std::tr1::function.
	* testsuite/tr1/3_function_objects/function/8.cc: New
	test of std::tr1::function.
	* testsuite/tr1/3_function_objects/function/9.cc: New
	test of std::tr1::function.
	* testsuite/tr1/3_function_objects/mem_fn.cc: New test of
	std::tr1::mem_fn. 
	
2005-02-23  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_convertible.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_convertible/is_convertible.cc: New.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_convertible/typedefs.cc: Likewise.
	* testsuite/testsuite_tr1.h: Add class DerivedType.

	* include/tr1/type_traits (is_function): Don't mistake references
	to function types for function types.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_function/is_function.cc: Add testcase.

2005-02-22  Benjamin Kosnik  <bkoz@redhat.com>
	
	* scripts/check_performance: Tweaks.

	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc: Name
	output file with extension that clean rules can find.

2005-02-22  Richard Henderson  <rth@redhat.com>

	PR libstdc++/20091
	* libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
	decrement of uncaughtExceptions for rethrow.

2005-02-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional: Fix License to GPL with exception.
	* include/tr1/hashtable: Likewise.
	* include/tr1/tuple: Likewise.
	* include/tr1/type_traits: Likewise.
	* include/tr1/type_traits_fwd.h: Likewise.
	* include/tr1/unordered_map: Likewise.
	* include/tr1/unordered_set: Likewise.
	* include/tr1/utility: Likewise.

2005-02-22  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
	auto_ptr_neg.cc: Add missing dg-do compile directive.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
	auto_ptr_rvalue_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
	shared_ptr_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
	auto_ptr_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
	reset_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
	swap_neg.cc: Likewise.

2005-02-22  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/Makefile.am, include/Makefile.in: Fix accidental extra
	change from previous commit.

2005-02-21  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/tr1/memory: New file.
	* include/Makefile.am, include/Makefile.in: Add new TR1 header.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/not_shared.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/not_shared2.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/not_shared3.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/shared.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	enable_shared_from_this/still_shared.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/assign.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/auto_ptr.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/auto_ptr_neg.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/auto_ptr_rvalue_neg.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/shared_ptr.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/assign/shared_ptr_neg.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/comparison/cmp.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/auto_ptr.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/auto_ptr_neg.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/copy.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/default.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/pointer.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/weak_ptr.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/cons/weak_ptr_expired.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/dest/dest.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/misc/io.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/misc/swap.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/modifiers/reset.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/modifiers/reset_neg.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/modifiers/swap.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/modifiers/swap_neg.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/observers/bool_conv.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/observers/get.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/observers/unique.cc: New test.
	* testsuite/tr1/2_general_utilities/memory/
	shared_ptr/observers/use_count.cc: New test.

2005-02-21  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_member_function_pointer):
	Remove ugly workaround for c++/19076.

2005-02-21  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (_Rep::_M_destroy): Don't
	check for this == &_S_empty_rep, it's always false, here.

2005-02-19  Matt Austern  <austern@gmail.com>

	* include/tr1/functional (tr1_hashtable_define_trivial_hash): Make
	hash<T>::operator() a const member function for T a fundamental type
	* include/tr1/hashtable (extract1st::operator()): Declare const.
	(hash_code_base): Declare all member functions const
	(hashtable::find): fix call to this->bucket_count()
	(hashtable::count): Likewise.
	(hashtable::equal_range): m_incr_bucket applies to iterator, not node.
	* testsuite/tr1/6_containers/unordered/find/set1.cc: New test.
	* testsuite/tr1/6_containers/unordered/find/map1.cc: New test.
	* testsuite/tr1/6_containers/unordered/find/multimap1.cc: New test.
	* testsuite/tr1/6_containers/unordered/find/multiset1.cc: New test.
	
2005-02-19  Hans-Peter Nilsson  <hp@axis.com>

	PR libstdc++/20071
	* include/tr1/functional (hash<std::wstring>): Wrap in #ifdef
	_GLIBCXX_USE_WCHAR_T.

2005-02-18  Richard Henderson  <rth@redhat.com>

	PR libstdc++/10606
	* config/linker-map.gnu (CXXABI_1.3.1): Add __cxa_get_exception_ptr.
	* libsupc++/eh_alloc.cc (__cxa_allocate_exception): Increment
	uncaughtExceptions here instead of ...
	* libsupc++/eh_throw.cc (__cxa_throw) ... here.
	(__cxa_rethrow): Increment uncaughtExceptions here instead of ...
	* libsupc++/eh_catch.cc (__cxa_end_catch): ... here.
	(__cxa_get_exception_ptr): New.
	* libsupc++/unwind-cxx.h (__cxa_get_exception_ptr): Declare.

2005-02-18  Matt Austern  <austern@apple.com>

	* testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: Fix
	test case to use assignment instead of ==
	* testsuite/tr1/6_containers/unordered/insert/map_range.cc: New test.
	* testsuite/tr1/6_containers/unordered/insert/multimap_range.cc: New test.
	* testsuite/tr1/6_containers/unordered/insert/multiset_range.cc: New test.
	* testsuite/tr1/6_containers/unordered/insert/set_range.cc: New test.
	
2005-02-18  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* testsuite/thread/pthread1.cc: Do not invoke pthread_setconcurrency
	on Solaris 2.6 and below.
	* testsuite/thread/pthread2.cc: Likewise.
	* testsuite/thread/pthread3.cc: Likewise.
	* testsuite/thread/pthread4.cc: Likewise.
	* testsuite/thread/pthread5.cc: Likewise.
	* testsuite/thread/pthread6.cc: Likewise.
	* testsuite/thread/pthread7-rope.cc: Likewise.

2005-02-17  Matt Austern  <austern@apple.com>

	* include/tr1/functional (hash): New function object.
	* include/tr1/hashtable: New file.
	* include/tr1/unordered_set: New file.
	* include/tr1/unordered_map: New file.
	* include/Makefile.am: Add three new TR1 headers.
	* include/Makefile.in: Likewise.
	* testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: New test.
	* testsuite/tr1/6_containers/unordered/insert/map_single.cc: New test.
	* testsuite/tr1/6_containers/unordered/insert/multimap_single.cc: New test.
	* testsuite/tr1/6_containers/unordered/insert/multiset_single.cc: New test.
	* testsuite/tr1/6_containers/unordered/insert/set_single.cc: New test.
	* testsuite/tr1/6_containers/unordered/instantiate/hash.cc: New test.
	* testsuite/tr1/6_containers/unordered/instantiate/map.cc: New test.
	* testsuite/tr1/6_containers/unordered/instantiate/multimap.cc: New test.
	* testsuite/tr1/6_containers/unordered/instantiate/multiset.cc: New test.
	* testsuite/tr1/6_containers/unordered/instantiate/set.cc: New test.
	
2005-02-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/23_containers/set/modifiers/16728.cc:
	Remove redundant include <testsuite_performance.h>.

2005-02-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19829
	* testsuite/21_strings/basic_string/find/char/3.cc: Fix the test
	at line #66 to not access str_lit01 beyond its end.
	* testsuite/21_strings/basic_string/find/wchar_t/3.cc: Likewise.

2005-02-15  Paolo Carlini  <pcarlini@suse.de>
	    Jon Grimm  <jgrimm2@us.ibm.com>
	
	PR libstdc++/19955
	* include/bits/locale_facets.h (ctype<char>::_M_narrow_init()):
	Fix the logic setting _M_narrow_ok: first check whether the
	transformation is trivial with a dflt == 0, then deal with the
	special case of zero.
	* testsuite/22_locale/ctype/narrow/char/19955.cc: New.

	* include/bits/locale_facets.h (ctype<char>::_M_widen_init()):
	Tweak consistently to use memcmp; minor formatting fixes.

2005-02-15  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/19946
	* testsuite/demangle/abi_examples/01.cc (main): Adjust for 2005-02-13
	demangler change.
	* testsuite/demangle/abi_examples/02.cc (main): Likewise.

2005-02-13  Richard Guenther  <rguenth@gcc.gnu.org>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11706
	* include/c_std/std_cmath.h (pow): Use __builtin_powi[lf]
	for integer overloads.

	* testsuite/26_numerics/cmath/powi.cc: New.

2005-02-11  Janis Johnson  <janis187@us.ibm.com>

	* testsuite/26_numerics/complex/13450.cc: Fix XFAIL selector.
	* testsuite/26_numerics/complex/complex_value.cc: Ditto.
	* testsuite/26_numerics/complex/pow.cc: Ditto.

	* testsuite/lib/libstdc++.exp: Load target-supports-dg.exp.
	* testsuite/26_numerics/complex/13450.cc: XFAIL for broken_cplxf_arg.
	* testsuite/26_numerics/complex/complex_value.cc: Ditto.
	* testsuite/26_numerics/complex/pow.cc: Ditto.

2005-02-09  Mike Stump  <mrs@apple.com>

	* libsupc++/del_op.cc: Don't include cstdlib when !_GLIBCXX_HOSTED.

2005-02-09  Janis Johnson  <janis187@us.ibm.com>

	* testsuite/ext/array_allocator/2.cc: XFAIL for powerpc*-*-linux*.

2005-02-08  Mark Mitchell  <mark@codesourcery.com>

	* config/linker-map.gnu (GLIBCXX_3.4): Add _ZNSdC* and _ZNSdD*.

2005-02-07  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Make buf static.
	* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Make ref and
	src static.

2005-02-02  Brad Spencer  <spencer@infointeractive.com>

	* debug.html: Fix broken tags.
	* documentation.html: Same.

2005-02-02  Andreas Jaeger  <aj@suse.de>

	* testsuite/lib/libstdc++.exp: Revert Geoffrey Keating's patch
	from 2005-01-28.
	* testsuite/Makefile.am: Likewise.
	* testsuite/Makefile.in: Likewise.

2005-02-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/cpp_type_traits.h: Rename _M_type fields to
	__value, except for __enable_if, _M_type -> __type, consistently
	with the other traits.
	* include/bits/stl_algobase.h: Tweak consistently.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/valarray_array.h: Likewise.
	* include/c_std/std_cmath.h: Likewise.
	* include/debug/safe_iterator.h: Likewise.
	* include/std/std_complex.h: Likewise.

2005-01-31  Brad Spencer  <spencer@infointeractive.com>

	* crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
	* configure: Regenerated.	

2005-01-31  Mark Mitchell  <mark@codesourcery.com>

	* include/std/std_limits.h (numeric_limits<float>::has_denorm):
	Add required cast.
	(numeric_limits<double>::has_denorm): Likewise.
	(numeric_limits<long double>::has_denorm): Likewise.

2005-01-31  Paolo Carlini  <pcarlini@suse.de>
	    Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* include/bits/cpp_type_traits.h: Add types to the structs thus
	making type_traits.h redundant; exploit new __truth_type and
	__traitor helpers.
	* include/bits/type_traits.h: Remove.
	* include/Makefile.am: Update.
	* include/Makefile.in: Regenerate.
	* include/backward/tempbuf.h: Include cpp_type_traits.h instead.
	* include/bits/basic_string.h (replace(iterator, iterator,
	_InputIterator, _InputIterator), _S_construct(_InIterator,
	_InIterator, const _Alloc&)): Use __is_integer instead.
	* include/bits/stl_bvector.h (vector(_InputIterator,
	_InputIterator, const allocator_type&), assign(_InputIterator,
	_InputIterator), insert(iterator, _InputIterator, _InputIterator)):
	Likewise.
	* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
	_ForwardIterator)): Use __is_scalar.
	* include/bits/stl_deque.h (deque(_InputIterator, _InputIterator,
	const allocator_type&), assign(_InputIterator, _InputIterator),
	insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
	* include/bits/stl_list.h (assign(_InputIterator, _InputIterator),
	insert(iterator, _InputIterator, _InputIterator)): Likewise.
	* include/bits/stl_tempbuf.h (_Temporary_buffer(_ForwardIterator,
	_ForwardIterator)): Use __is_scalar.
	* include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
	_InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
	_ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
	_Size, const _Tp&)): Likewise.
	* include/bits/stl_vector.h (vector(_InputIterator, _InputIterator,
	const allocator_type&), assign(_InputIterator, _InputIterator),
	insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
	* include/debug/debug.h (__valid_range(const _InputIterator&,
	const _InputIterator&)): Use __is_integer.
	* include/ext/slist (assign(_InputIterator, _InputIterator)): Likewise.
	* include/std/std_string.h: Include cpp_type_traits.h instead.

2005-01-30  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19642
	* config/locale/generic/c_locale.h (__convert_from_v): Switch only
	LC_NUMERIC, and only when actually != "C".

2005-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_function): Minor consistency tweaks.

2005-01-28  Geoffrey Keating  <geoffk@apple.com>

	* testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
	for the compiler.  Don't set cxxflags.
	(v3_target_compile): Search for libv3test.a relative to $objdir.
	(lsearch_all_inline): New.
	(lsearch_all_inline_not): New.
	(v3-list-tests): Rewrite to not need generated files.
	* testsuite/Makefile.am (IGNORE_WCHAR_T): New.
	(IGNORE_THREAD): New.
	(TESTS_TO_IGNORE): New.
	(site.exp): Set tests_to_ignore, cxxflags.
	* aclocal.m4: Regenerate.
	* Makefile.in: Regenerate.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

2005-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_empty.
	* testsuite/tr1/4_metaprogramming/type_properties/is_empty/
	is_empty.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/is_empty/
	typedefs.cc: Likewise.

	* include/tr1/type_traits (__is_abstract_helper): Simplify a bit.

2005-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_abstract, by exploiting the
	resolution of DR core/337.
	* testsuite/testsuite_tr1.h: Add AbstractClass.
	* testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
	is_abstract.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
	typedefs.cc: Likewise.
	
	* include/tr1/type_traits (is_function): Rewrite, use the conversion
	F& -> F* instead, thus avoiding problems with abstract classes.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_function/is_function.cc: Add a test for tricky AbstractClass.

2005-01-26  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h
	(struct __per_type_pool_policy<,, false>::_S_get_pool,
	struct __per_type_pool_policy<,, true>::_S_get_pool): Scale
	_M_chunk_size too with sizeof(_Tp), otherwise the allocator
	breaks down as soon as sizeof(_Tp) >~ _S_chunk_size / 128;
	reduce to 64 the multiplier for _M_max_bytes (safer wrt
	_Binmap_type being a short); trivial reformattings.
	* testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: New.

2005-01-26  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex
	to the final test for enable_c99, thus robustifying it; remove
	duplicate final test on ac_99_math.
	* configure: Regenerate.

	* include/std/std_complex.h: Remove usages of the dead
	_GLIBCXX_BUGGY_COMPLEX macro.

	* testsuite/26_numerics/cmath/19322.cc: Protect with
	_GLIBCXX_USE_C99_MATH instead of the stronger _GLIBCXX_USE_C99,
	since only C99 math facilities are involved.
	* testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
	Likewise.

2005-01-25  Loren J. Rittle  <ljrittle@acm.org>

	* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Map FreeBSD to darwin
	instead of generic.  Change autoconf report to "darwin or freebsd".
	* configure: Regenerate.
	* config/os/bsd/freebsd/ctype_inline.h (ctype<wchar_t>::do_is): Add.
	(ctype<wchar_t>::do_scan_is): Likewise.
	(ctype<wchar_t>::do_scan_not): Likewise.

2005-01-25  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math
	functions, and enable _GLIBCXX_USE_C99_COMPLEX_MATH if they exist.
	* acconfig.h: Add _GLIBCXX_USE_C99_COMPLEX_MATH.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/std/std_complex.h: Protect complex builtins with
	_GLIBCXX_USE_C99_COMPLEX_MATH.

2005-01-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_signed and is_unsigned.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_signed/is_signed.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_signed/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_unsigned/is_unsigned.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_unsigned/typedefs.cc: Likewise.

2005-01-23  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 34.

2005-01-23  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: New.
	* testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
	* testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/flush/wchar_t/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	wchar_t/4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	wchar_t/4402.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	wchar_t/5.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	wchar_t/6.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	wchar_t/9555-oa.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	wchar_t/exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	wchar_t/exceptions_failbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/5.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/6.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/9555-oc.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/
	wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/
	wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/
	wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/
	wchar_t/4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/
	wchar_t/5.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/
	wchar_t/9318-out.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/
	wchar_t/9424-out.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/
	wchar_t/9555-oo.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	error_failbit.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	exceptions_failbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/seekp/char/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/seekp/wchar_t/
	2346-fstream.cc: Likewise.
	* testsuite/27_io/basic_ostream/seekp/wchar_t/
	2346-sstream.cc: Likewise.
	* testsuite/27_io/basic_ostream/seekp/wchar_t/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/tellp/wchar_t/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.

	* testsuite/data/wostream_inserter_char-1.tst: Likewise.
	* testsuite/data/wostream_inserter_char-1.txt: Likewise.
	* testsuite/data/wostream_inserter_other-1.tst: Likewise.
	* testsuite/data/wostream_inserter_other-2.tst: Likewise.
	* testsuite/data/wostream_seeks-1.tst: Likewise.

	* testsuite/27_io/basic_ostream/endl/char/1.cc: Minor tweaks.
	* testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise. 
	* testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/flush/char/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	char/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	char/3.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	char/4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	char/4402.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	char/5.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/
	char/6.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	char/4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	5.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	error_failbit.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	exceptions_failbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/seekp/char/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.

2005-01-23  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (aligned_storage): Use __aligned__ instead
	of aligned.

2005-01-23  Paolo Carlini  <pcarlini@suse.de>
            Andreas Jaeger  <aj@suse.de>

	PR libstdc++/19343
	* include/bits/functexcept.h: Mark the helpers as 'noreturn'.

2005-01-21  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Allow
	lseek on fifo to succeed.  Thus, check for consistent report.

2005-01-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>

	PR libstdc++/19510
	* include/bits/stl_list.h (_List_iterator): Initialize _M_node
	in constructor.
	(_List_const_iterator): Likewise.
	* include/bits/stl_tree.h (_Rb_tree_iterator): Likewise.
	(_Rb_tree_const_iterator): Likewise.

	* testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
	* testsuite/23_containers/set/operators/1_neg.cc: Likewise.

2005-01-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/Makefile.am (check-compile): New.
	* testsuite/Makefile.in: Regenerate.	
	* scripts/check_compile_time: New.
	* scripts/check_performance: Tweaks.

2005-01-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19535
	* include/tr1/utility (struct __pair_get<1>::__get, __const_get):
	Fix typo in the return type.
	* testsuite/tr1/6_containers/utility/19535.cc: New.

2005-01-19  Loren J. Rittle  <ljrittle@acm.org>

	* include/ext/array_allocator.h (array_allocator<>::allocate):
	Avoid __used.  Use __array_used instead.
	* docs/html/17_intro/BADNAMES: Add list for FreeBSD.

2005-01-18  David Edelsohn  <edelsohn@gnu.org>

	* config/os/aix/os_defines.h (_XOPEN_SOURCE): Delete.
	(_XOPEN_SOURCE_EXTENDED): Delete.

2005-01-18  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_performance.h (time_counter::start):
	Clear. Tweaks.
	(clear_counters): Inline.
	(start_counters): Inline.
	(stop_counters): Inline.
	* testsuite/performance/20_util/allocator/map_thread.cc: Return.
	* testsuite/performance/20_util/allocator/insert.cc: Remove bogus
	return, add return.
	* testsuite/performance/20_util/allocator/map_thread.cc: Same.
	
2005-01-17  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19433
	* include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator,
	const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)):
	Obtain amortized constant complexity if t is inserted right after
	p - not before p - as per Table 69.
	* testsuite/performance/23_containers/set_insert_from_sorted.cc: New.
	
	* testsuite/23_containers/multiset/insert/2.cc: New.
	* testsuite/23_containers/set/insert/1.cc: Likewise.
	
	* testsuite/performance/23_containers/set_create_from_sorted.cc:
	Simplify.

	* include/bits/stl_tree.h: Add a few missing std:: qualifications.

2005-01-16  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
	* testsuite/ext/rope/4.cc: Add.

2005-01-16  Lorenz Minder  <lminder@gmx.net>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19322
	* include/c_std/std_cmath.h: Define the C99 classification facilities
	directly inside namespace std:.
	* testsuite/26_numerics/cmath/19322.cc: New.

2005-01-15  David Edelsohn  <edelsohn@gnu.org>

	* config/os/aix/os_defines.h (_G_USING_THUNKS): Delete.

2005-01-14  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19422
	* include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II),
	_Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique,
	respectively) with hint (end()).
	* testsuite/performance/23_containers/set_create_from_sorted.cc: New.

2005-01-13  Geoffrey Keating  <geoffk@apple.com>

	* configure.host (darwin): On darwin8 or later, no need to build
	libstdc++ with -flat_namespace.

2005-01-13  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/doxygen/user.cfg.in: Set HAVE_DOT back to YES.

2005-01-13  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
	Re-enable commented-out test for double type.

2005-01-11  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): In case
	more than numeric_limits<streamsize>::max() chars are skipped,
	set _M_gcount = max().
	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Likewise; keep simple, don't forward.

2005-01-11  Paolo Carlini  <pcarlini@suse.de>

	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): Revert
	2005-01-05 change: actually, the previous behavior is conforming
	and consistent with that of get(char_type*, streamsize, char_type),
	albeit slightly different from that of 3.3/3.4 in a corner case
	due to the use of snextc.
	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Likewise.
	* testsuite/27_io/basic_istream/ignore/char/4.cc: Remove.
	* testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.

2005-01-11  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement alignment_of and aligned_storage.
	* testsuite/tr1/4_metaprogramming/other_transformations/
	aligned_storage/aligned_storage.cc: New.
	* testsuite/tr1/4_metaprogramming/other_transformations/
	aligned_storage/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	alignment_of/alignment_of.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	alignment_of/typedefs.cc: Likewise.

2005-01-10  Paolo Carlini  <pcarlini@suse.de>

	* Makefile.in: Regenerate.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

2005-01-10  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (lexicographical_compare):
	Fix concept check.

2005-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4: Remove CCODECVT_H.
	* configure: Regenerate.
	* include/Makefile.am (host_headers_extra): Move to...
	(ext_headers): ...here.
	* include/Makefile.in: Regenerate.
	* include/ext/enc_filebuf: Remove enc_filebuf, consolidate
	enc_traits to...
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Move...
	* include/ext/codecvt_specializations.h: ...here. Remove
	_GLIBCXX_USE___ENC_TRAITS. 
	(__enc_traits): To __encoding_state, put in __gnu_cxx namespace.
	(enc_char_traits): To __encoding_char_traits, put in __gnu_cxx
	namespace.
	* config/locale/generic/codecvt_specializations.h: Remove.
	* include/bits/codecvt.h: Remove codecvt_specializations.h include.
	* src/codecvt.cc: Remove __enc_traits::_S_max_size.

2005-01-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/fstream.tcc: Remove unnecessary qualifications for
	uglified data members of basic_filebuf, including _M_buf,
	_M_buf_size, _M_mode, _M_pback_init.
	* include/std/std_fstream.h: Same.
	
2005-01-05  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_hooks.h: 
	(copy_constructor::mark_call):  Use __throw_runtime_error.
	(assignment_operator::mark_call): Same.
	* testsuite/testsuite_hooks.cc (verify_demangle): Same.
	(locale_data): Remove, just use runtime_error directly.
	(environment_variable): Same.
	(not_found): Same.
	(run_tests_wrapped_locale): Use __throw_runtime_error.
	(run_tests_wrapped_env): Same.
	(semaphore::semaphore): Same.
	(semaphore::signal): Same.
	(semaphore::wait): Same.
	* testsuite/testsuite_abi.h (symbol_error): Remove, use logic_error.
	* testsuite/testsuite_abi.cc (get_symbol): Use __throw_logic_error.
	(create_symbols): Use __throw_runtime_error.
	* src/bitmap_allocator.cc: Use __throw_bad_alloc.

2005-01-05  Mark Mitchell  <mark@codesourcery.com>

	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child
	process.
	
2005-01-05  Paolo Carlini  <pcarlini@suse.de>

	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): At the end,
	first check _M_gcount vs __n. 	
	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Likewise.
	* testsuite/27_io/basic_istream/ignore/char/4.cc: New.
	* testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.

2005-01-03  Mark Mitchell  <mark@codesourcery.com>

	* testsuite/testsuite_hooks.cc: Use __throw_exception_again
	instead of just throw.

	* testsuite/testsuite_hooks.cc: Update coypright and follow style
	guidelines.
	* testsuite/testsuite_hooks.h: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
	semaphores, not sleep.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
	* testsuite/27_io/objects/char/7.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.

	* configure.ac: Check for sys/ipc.h and sys/sem.h. 
	* config.h.in: Regenerated.
	* configure: Likewise.
	* testsuite/testsuite_hooks.cc (_GLIBCXX_SYSV_SEM): Conditionally
	define.
	(sys/types.h): Include.
	(sys/ipc.h): Likewise.
	(sys/sem.h): Likewise.
	(__gnu_test::semun): New type.
	(__gnu_test::semaphore::sempaphore): New function.
	(__gnu_test::semaphore::~semaphore): Likewise.
	(__gnu_test::semaphore::wait): Likewise.
	(__gnu_test::semaphore::signal): Likewise.
	* testsuite/testsuite_hooks.h (__gnu_test::semaphore): New class.
	* testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
	semaphores, not sleep.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
	* testsuite/27_io/objects/char/7.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.

2005-01-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Reset _M_gcount to numeric_limits<streamsize>::min().
	* src/istream.cc (basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): Likewise.
	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize)): Likewise; fix a typo.

2005-01-02  Paolo Carlini  <pcarlini@suse.de>

	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): Avoid
	_M_gcount overflows. 	
	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Likewise; use snextc in the main loop, consistently
	with the specializations above.

2005-01-02  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/stl_algobase.h (mismatch): Correct concept check.

2005-01-01  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/ext/enc_filebuf/char/13189.cc: Fix, first include
	testsuite_hooks.h, to know whether including ext/enc_filebuf.h.
	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.

2005-01-01  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_character/char/1.cc: Fix,
	null-terminate array1 at the outset.
	* testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
	Likewise.
