Commit Graph

39 Commits

Author SHA1 Message Date
Jakub Jelinek a554497024 Update copyright years.
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Marc Glisse 0f317ef762 Relocation (= move+destroy)
2018-10-25  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/87106
	* include/bits/alloc_traits.h (_S_construct, _S_destroy, construct,
	destroy): Add noexcept specification.
	* include/bits/allocator.h (construct, destroy): Likewise.
	* include/ext/alloc_traits.h (construct, destroy): Likewise.
	* include/ext/malloc_allocator.h (construct, destroy): Likewise.
	* include/ext/new_allocator.h (construct, destroy): Likewise.
	* include/bits/stl_uninitialized.h (__relocate_object_a, __relocate_a,
	__relocate_a_1): New functions.
	(__is_trivially_relocatable): New class.
	* include/bits/stl_vector.h (__use_relocate): New static member.
	* include/bits/vector.tcc (reserve, _M_realloc_insert,
	_M_default_append): Use __relocate_a.
	(reserve, _M_assign_aux, _M_realloc_insert, _M_fill_insert,
	_M_default_append, _M_range_insert): Move _GLIBCXX_ASAN_ANNOTATE_REINIT
	after _Destroy.
	* testsuite/23_containers/vector/modifiers/push_back/49836.cc:
	Replace CopyConsOnlyType with DelAnyAssign.

From-SVN: r265485
2018-10-25 13:03:13 +00:00
Jonathan Wakely c7790bdbd9 Make ext allocators support heterogeneous equality comparison
The Allocator requirements include the ability to compare different
specializations of the same allocator class template. This did not work
for __gnu_cxx::new_allocator and other extension allocators.  This patch
replaces the equality operators for those allocators with inline friends
that support heterogeneous comparisons.  (I'm not changing all ext
allocators because some are bit-rotted already).

Additionally, the equality operators for comparing two std::allocator
objects of the same type are now defined as inline friends. Those
overloads don't need to be declared at namespace scope, because they
aren't specified in the standard (but they're needed in this
implementation to avoid ambiguities caused by the extra overloads
defined for the base allocator type).

	* include/bits/allocator.h
	(operator==(const allocator<_Tp>&, const allocator<_Tp>))
	(operator!=(const allocator<_Tp>&, const allocator<_Tp>)): Replace
	with inline friends.
	* include/ext/debug_allocator.h (operator==, operator!=): Replace
	with inline friend functions that compare to rebound allocators.
	* include/ext/malloc_allocator.h (operator==, operator!=): Likewise.
	* include/ext/new_allocator.h (operator==, operator!=): Likewise.
	* testsuite/ext/debug_allocator/eq.cc: New test.
	* testsuite/ext/ext_pointer/alloc_eq.cc: New test.
	* testsuite/ext/malloc_allocator/eq.cc: New test.
	* testsuite/ext/new_allocator/eq.cc: New test.

From-SVN: r265036
2018-10-11 12:32:29 +01:00
Jonathan Wakely 422a9f7789 PR libstdc++/87544 limit max_size() to PTRDIFF_MAX / sizeof(T)
The C++17 standard requires the default implementation for
allocator_traits::max_size to return SIZE_MAX / sizeof(value_type).
That causes GCC to warn because the value could be larger than can
sensibly be passed to malloc. This patch changes the new_allocator and
malloc_allocator max_size() members to use PTRDIFF_MAX instead of
SIZE_MAX (and because they define it, the allocator_traits default isn't
used). This also changes vector::max_size to impose a sensible limit
using PTRDIFF_MAX for cases where the value from the allocator or
allocator_traits is not sensible.

	PR libstdc++/87544
	* include/bits/stl_vector.h (vector::_S_max_size): Limit size to
	PTRDIFF_MAX / sizeof(value_type).
	* include/ext/malloc_allocator.h (malloc_allocator::max_size):
	Likewise.
	* include/ext/new_allocator.h (new_allocator::max_size): Likewise.
	* testsuite/23_containers/vector/allocator/minimal.cc: Adjust
	expected value for max_size().
	* testsuite/23_containers/vector/capacity/87544.cc: New test.

From-SVN: r265021
2018-10-10 16:39:33 +01:00
Jonathan Wakely 3be9ded290 LWG 3035. std::allocator's constructors should be constexpr
LWG 3035. std::allocator's constructors should be constexpr
	* include/bits/allocator.h (allocator): Add constexpr to constructors
	for C++2a. Replace dynamic exception specifications with NOTHROW
	macro.
	(allocator, operator==, operator!=): Replace USE_NOEXCEPT macro with
	NOTHROW.
	* include/bits/c++config (_GLIBCXX20_CONSTEXPR): Define.
	* include/ext/malloc_allocator.h (malloc_allocator): Add constexpr
	to constructors for C++2a.
	* include/ext/new_allocator.h (new_allocator): Likewise.

From-SVN: r261703
2018-06-18 16:47:07 +01:00
Jakub Jelinek 85ec4feb11 Update copyright years.
From-SVN: r256169
2018-01-03 11:03:58 +01:00
Jonathan Wakely 89c6ecfa4c PR c++/82039 suppress -Wzero-as-null-pointer-constant warning
PR c++/82039
	* include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate):
	Adjust null pointer constant to avoid warning.

From-SVN: r251570
2017-08-31 17:45:37 +01:00
Jakub Jelinek cbe34bb5ed Update copyright years.
From-SVN: r243994
2017-01-01 13:07:43 +01:00
Jonathan Wakely 88b3e63150 Tweak whitespace in std::allocator files
* include/bits/allocator.h: Remove trailing whitespace, tab-indent.
	* include/ext/new_allocator.h: Likewise.

From-SVN: r241371
2016-10-20 12:37:19 +01:00
Jonathan Wakely ace4c2f060 PR65122 extended alignment support in allocators
PR libstdc++/65122
	* include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
	aligned_alloc for types with extended alignment if available,
	otherwise throw bad_alloc if malloc doesn't return a suitable value.
	* include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
	(bitmap_allocator::deallocate): Use aligned new/delete for types with
	extended alignment.
	* include/ext/mt_allocator.h (__mt_alloc::allocate)
	(__mt_alloc::deallocate): Likewise.
	* include/ext/new_allocator.h (new_allocator::allocate)
	(new_allocator::deallocate): Likewise.
	* include/ext/pool_allocator.h (__pool_alloc::allocate)
	(__pool_alloc::deallocate): Likewise.
	* testsuite/20_util/allocator/overaligned.cc: New test.
	* testsuite/ext/bitmap_allocator/overaligned.cc: New test.
	* testsuite/ext/malloc_allocator/overaligned.cc: New test.
	* testsuite/ext/mt_allocator/overaligned.cc: New test.
	* testsuite/ext/new_allocator/overaligned.cc: New test.
	* testsuite/ext/pool_allocator/overaligned.cc: New test.

From-SVN: r241158
2016-10-14 13:03:47 +01:00
Jakub Jelinek 818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Jakub Jelinek 5624e564d2 Update copyright years.
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Richard Sandiford aa118a03c4 Update copyright years in libstdc++-v3/
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Richard Sandiford 405feeb871 Update copyright in libstdc++-v3.
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Jonathan Wakely 1b5dc776ca stl_algo.h (reverse_copy): Update comment per DR 2074.
* include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
	* include/bits/unordered_map.h: Apply DR 2005 resolution.
	* doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
	* include/bits/allocator.h (allocator): Apply DR 2103 resolution.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
	additional specializations.
	* include/std/functional: Add comment about DR resolution.
	* include/std/future: Likewise.
	* include/std/scoped_allocator: Likewise.
	* include/std/thread: Likewise.
	* testsuite/20_util/allocator/requirements/typedefs.cc: New.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r193638
2012-11-19 22:28:00 +00:00
Jason Merrill 734f50238f * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
From-SVN: r193392
2012-11-10 12:27:22 -05:00
Benjamin Kosnik fa7548481a allocator.h (std::allocator): Base class is __allocator_base.
2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/allocator.h (std::allocator): Base class is
	__allocator_base.
	(uses_allocator): Add to sub-grouping.
	* include/ext/new_allocator.h: Doxygen markup for tparm.

	* config/allocator/bitmap_allocator_base.h: Use __allocator_base
	template alias in C++11.
	* config/allocator/malloc_allocator_base.h: Same.
	* config/allocator/mt_allocator_base.h: Same.
	* config/allocator/new_allocator_base.h: Same.
	* config/allocator/pool_allocator_base.h: Same.

From-SVN: r185544
2012-03-19 21:41:15 +00:00
Paolo Carlini 7d9cb05400 throw_allocator.h: Use noexcept.
2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/throw_allocator.h: Use noexcept.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/extptr_allocator.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise; do not include
	<cassert> directly, include <testsuite_hooks.h> instead.

From-SVN: r174918
2011-06-10 17:14:40 +00:00
Jonathan Wakely 45ba8f9f8f Makefile.am: Add new ptr_traits.h header.
2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/Makefile.am: Add new ptr_traits.h header.
	* include/Makefile.in: Regenerate.
	* include/bits/ptr_traits.h (pointer_traits): New.
	* include/bits/allocator.h (allocator_traits): Add.
	* include/ext/array_allocator.h (construct, destroy): Update C++0x
	versions.
	* include/ext/bitmap_allocator.h (construct, destroy): Likewise.
	* include/ext/extptr_allocator.h (construct, destroy): Likewise.
	* include/ext/malloc_allocator.h (construct, destroy): Likewise.
	* include/ext/mt_allocator.h (construct, destroy): Likewise.
	* include/ext/new_allocator.h (construct, destroy): Likewise.
	* include/ext/pool_allocator.h (construct, destroy): Likewise.
	* include/ext/throw_allocator.h (construct, destroy): Likewise.
	* testsuite/20_util/allocator_traits/requirements/typedefs.cc: New.
	* testsuite/20_util/allocator_traits/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/allocator_traits/members/max_size.cc: New.
	* testsuite/20_util/allocator_traits/members/select.cc: New.
	* testsuite/20_util/allocator_traits/members/construct.cc: New.
	* testsuite/20_util/allocator_traits/members/allocate_hint.cc: New.
	* testsuite/20_util/allocator_traits/members/destroy.cc: New.
	* testsuite/20_util/pointer_traits/requirements/typedefs.cc: New.
	* testsuite/20_util/pointer_traits/requirements/
	explicit_instantiation.cc: New.

From-SVN: r174380
2011-05-28 14:27:43 +01:00
Benjamin Kosnik 12ffa22844 PR libstdc++/36104 part four
2011-01-30  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/36104 part four
	* include/bits/c++config (_GLIBCXX_STD): Remove.
	(_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
	(_GLIBCXX_P): Now _GLIBCXX_STD_A.
	(_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
	 _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
	(_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
	 _GLIBCXX_INLINE_PROFILE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
	(_GLIBCXX_END_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
	(_GLIBCXX_END_NESTED_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
	(_GLIBCXX_END_NAMESPACE_ALGO): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
	(_GLIBCXX_END_NAMESPACE_VERSION): Add.
	(_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
	(_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
	(_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
	* include/*: Use new macros for namespace scope.
	* config/*: Same.
	* src/*: Same.

	* src/Makefile.am (sources): Remove debug_list.cc, add
	compatibility-debug_list-2.cc.
	(parallel_sources): Remove parallel_list.cc, add
	compatibility-parallel_list-2.cc.
	(compatibility-parallel_list-2.[o,lo]): New rule.
	* src/Makefile.in: Regenerate.
	* src/debug_list.cc: Remove.
	* src/parallel_list.cc: Remove.
	* src/compatibility-list-2.cc: New.
	* src/compatibility-debug_list-2.cc: New.
	* src/compatibility-parallel_list-2.cc: New.

	* doc/doxygen/user.cfg.in: Adjust macros.

	* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
	* testsuite/20_util/declval/requirements/1_neg.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/forward/c_neg.cc: Same.
	* testsuite/20_util/forward/f_neg.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/forward_list/capacity/1.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Same.
	* testsuite/23_containers/list/capacity/29134.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/25_algorithms/sort/35588.cc: Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Same.
	* testsuite/ext/profile/profiler_algos.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.

From-SVN: r169421
2011-01-30 22:39:36 +00:00
Paolo Carlini 8fc810787b c++config (std::size_t, [...]): Provide typedefs.
2010-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (std::size_t, std::ptrdiff_t,
        std::nullptr_t): Provide typedefs.
	* include/c_std/cstddef: Don't provide std::size_t and
	std::ptrdiff_t here.
	* include/c_global/cstddef: Likewise.
	* src/condition_variable.cc: Don't include <cstddef>,
	don't use NULL, use std::size_t and std::ptrdiff_t.
	* src/mt_allocator.cc: Likewise.
	* src/localename.cc: Likewise.
	* src/chrono.cc: Likewise.
	* src/thread.cc: Likewise.
	* include/debug/formatter.h: Likewise.
	* include/debug/functions.h: Likewise.
	* include/std/valarray: Likewise.
	* include/std/thread: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/atomic: Likewise.
	* include/std/iterator: Likewise.
	* include/std/bitset: Likewise.
	* include/std/fstream: Likewise.
	* include/std/mutex: Likewise.
	* include/c_std/cstdlib: Likewise.
	* include/c_std/cstdio: Likewise.
	* include/c_std/ctime: Likewise.
	* include/c_std/cwchar: Likewise.
	* include/c_std/cstring: Likewise.
	* include/parallel/multiway_merge.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/base.h: Likewise.
	* include/parallel/basic_iterator.h: Likewise.
	* include/parallel/multiway_mergesort.h
	* include/parallel/partition.h: Likewise.
	* include/ext/string_conversions.h: Likewise.
	* include/ext/pb_ds/assoc_container.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp:
	Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_prime_size_policy_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_policy.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_trigger.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/d: Likewise.etail/cc_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	cmp_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	entry_list_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	cc_ht_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	insert_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	const_child_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	r_erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	rotate_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	point_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	gp_ht_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	standard_policies.hpp: Likewise.
	* include/ext/pb_ds/detail/tree_policy/
	sample_tree_node_update.hpp: Likewise.
	* include/ext/pb_ds/detail/basic_tree_policy/
	null_node_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_node_update.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_e_access_traits.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	null_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/
	sample_ranged_probe_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/
	sample_ranged_hash_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/list_update_policy.hpp: Likewise.
	* include/ext/pb_ds/exception.hpp: Likewise.
	* include/ext/pb_ds/tree_policy.hpp: Likewise.
	* include/ext/pb_ds/tag_and_trait.hpp: Likewise.
	* include/ext/pb_ds/hash_policy.hpp: Likewise.
	* include/ext/pb_ds/trie_policy.hpp: Likewise.
	* include/ext/pb_ds/priority_queue.hpp: Likewise.
	* include/ext/throw_allocator.h: Likewis: Likewise.e.
	* include/ext/bitmap_allocator.h
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/codecvt_specializations.h: Likewise.
	* include/ext/functional: Likewise.: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/sso_string_base.h: Likewise.
	* include/profile/impl/profiler_trace.h: Likewise.
	* include/profile/impl/profiler_node.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/functional_hash.h: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/stl_iterator_base_types.h: Likewise.
	* include/bits/move.h: Likewise.
	* include/bits/boost_concept_check.h: Likewise.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/bits/locale_facets_nonio.h: Likewise.
	* include/c_global/cstdlib: Likewise.
	* include/c_global/cstdio: Likewise.
	* include/c_global/ctime: Likewise.
	* include/c_global/cwchar: Likewise.
	* include/c_global/cstring
	* include/tr1/type_traits: Likewise.
	* include/backward/hash_fun.h: Likewise.
	* libsupc++/new: Likewise.
	* libsupc++/initializer_list: Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/5268.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/char/5268.cc: Likewise.
	* testsuite/27_io/objects/char/10.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputn/char/1057.cc: Likewise.
	* testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	exceptions_null.cc
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/cons/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	wchar_t/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	char/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/9826.cc: Likewise.
	* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/8.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	char/8.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1057.cc: Likewise.
	* testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
	* testsuite/18_support/bad_exception/23591_thread-1.c
	* testsuite/18_support/new_delete_placement.cc: Likewise.
	* testsuite/18_support/pthread_guard.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
	* testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/
	assign_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/
	copy_neg.cc: Likewise.
	* testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
	* testsuite/ext/slist/23781.cc: Likewise.
	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
	* testsuite/22_locale/locale/cons/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/29217.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/
	requirements/iterator_null_neg.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/
	requirements/iterator_null_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/single_value.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Likewise.
	* testsuite/23_containers/multimap/23781.cc: Likewise.
	* testsuite/23_containers/set/23781.cc: Likewise.
	* testsuite/23_containers/multiset/23781.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/23781.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/map/23781.cc: Likewise.
	* testsuite/util/regression/rand/priority_queue/
	rand_regression_test.hpp: Likewise.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.tcc: Likewise.
	* testsuite/util/regression/rand/assoc/
	rand_regression_test.hpp: Likewise.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.tcc: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* testsuite/util/testsuite_io.h: Likewise.
	* testsuite/util/testsuite_iterators.h: Likewise.
	* testsuite/util/replacement_memory_operators.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.
	* testsuite/util/testsuite_performance.h: Likewise.

From-SVN: r160231
2010-06-03 19:15:56 +00:00
Paolo Carlini 882b3d5c2e [multiple changes]
2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41792
	* include/tr1_impl/array: Use std::__addressof.
	* include/std/functional (reference_wrapper): Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/extptr_allocator.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/hashtable_policy.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/stl_construct.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* testsuite/20_util/reference_wrapper/41792.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/multimap/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/set/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/vector/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/deque/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/multiset/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/list/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/map/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	dr438/assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

2010-05-20  Peter Dimov  <pdimov@pdimov.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (__addressof, addressof): Add.
	* testsuite/util/testsuite_api.h (struct OverloadedAddress): Add.
	* testsuite/20_util/addressof/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/addressof/1.cc: Likewise.

From-SVN: r159643
2010-05-20 22:35:49 +00:00
Jan Hubicka e762c6f4c6 array (at): Do not use builtin_expect.
* include/tr1_impl/array (at): Do not use builtin_expect.
	* include/ext/throw_allocator.h (allocate): Likewise.
	* include/ext/pool_allocator.h (allocate): Likweise.
	* include/ext/bitmap_allocator.h (allocate): Likewise.
	* include/ext/rc_string_base.h (_S_construct): Likewise.
	* include/ext/malloc_allocator.h (allocate): Likewise.
	* include/ext/mt_allocator.h (allocate): Likewise.
	* include/ext/sso_string_base.h (_M_construct): Likewise.
	* include/bits/basic_string.tcc (_S_construct): Likewise.

From-SVN: r146681
2009-04-24 09:35:19 +00:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Benjamin Kosnik 5b9daa7e60 user.cfg.in: Tweaks.
2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Tweaks.
	* doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere,
	be elsewhere.

	* include/tr1_impl/unordered_map: Just use most specialized
	container module.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/array: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_bvector.h: Same.

	* include/backward/binders.h: Change binder module to binders.

	* include/std/complex: Add complex_numers module.
	* include/tr1_impl/complex: Same.

	* include/std/valarray: Add numeric_arrays module.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/indirect_array.h: Same.

	* include/bits/allocator.h: Add allocators module.
	* include/ext/throw_allocator.h
	* include/ext/pool_allocator.h
	* include/ext/bitmap_allocator.h
	* include/ext/new_allocator.h
	* include/ext/malloc_allocator.h
	* include/ext/array_allocator.h
	* include/ext/mt_allocator.h
	* include/ext/debug_allocator.h
	* include/ext/extptr_allocator.h

	* include/tr1_impl/functional: Move namespace markup here.
	* include/tr1_impl/regex: Same.

	* include/tr1_impl/type_traits: Add metaprogramming module.
	* include/std/type_traits: Same.

	* include/std/memory: Add memory module.

	* include/std/ratio: Add ratio module.

	* include/std/chrono: Move namespace markup here, add time module.

	* include/std/thread: Move namespace markup here, add concurrency
	module.
	* include/std/mutex: Use concurrency module.
	* include/std/condition_variable: Same.


	* include/bits/ios_base.h: Refine io module.
	* include/bits/basic_ios.h: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.

	* include/ext/vstring.h: Correct parameter markup.

	* include/bits/shared_ptr.h: Add pointer_abstractions module.
	* include/bits/unique_ptr.h: Same.

	* include/bits/algorithmfwd.h: Add mutating_algorithms,
        non_mutating_algorithms, sorting_algorithms. Adjust nesting.
	* include/bits/stl_heap.h: Add markup for new groupings.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_algo.h: Same.

	* include/c_compatibility/stdatomic.h: Add atomics module.
	* include/c_global/cstdatomic: Same.

	* libsupc++/exception: Add exceptions module.
	* libsupc++/typeinfo: Same.
	* libsupc++/new: Same.
	* libsupc++/exception_ptr.h: Same.
	* include/std/system_error: Same.
	* include/std/stdexcept: Same.

	* libsupc++/cxxabi.h: Move doxygroups.cc markup here.
	* libsupc++/cxxabi-forced.h: Same.

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Same.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/20_util/duration/cons/1_neg.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/ratio/cons/cons_overflow.cc: Same.
	* testsuite/20_util/ratio/operations/ops_overflow.cc: Same.

From-SVN: r144343
2009-02-21 00:45:21 +00:00
Paolo Carlini ca0f8fd1ee [multiple changes]
2008-06-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_move.h: Rename to move.h.
	* include/std/utility: Adjust.
	* include/ext/vstring_util.h: Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_heap.h: Likewise.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.
	* testsuite/util/testsuite_iterators.h: Likewise.
	* include/Makefile.am: Likewise.
	* include/Makefile.in: Regenerate.

2008-06-21  Chris Fairles  <chris.fairles@gmail.com>

	* include/bits/unique_ptr.h: New.
	* include/std/memory: Adjust.
	* include/Makefile.am: Add.
	* testsuite/20_util/unique_ptr/requirements/explicit_instantiation/
	explicit_instantiation.cc: New.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Likewise.
	* include/Makefile.in: Regenerate.

From-SVN: r137003
2008-06-21 16:55:17 +00:00
Paolo Carlini 61fcb9fb0c throw_allocator.h (throw_allocator<>:: construct<>(pointer, _Args&&...)): Add.
2007-10-26  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/throw_allocator.h (throw_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	* include/ext/pool_allocator.h (__pool_alloc<>::
	construct<>(pointer, _Args&&...)): Likewise.
	(construct(pointer, const _Tp&)): Cast pointer to void*. 
	* include/ext/bitmap_allocator.h (bitmap_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* include/ext/new_allocator.h (new_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* include/ext/malloc_allocator.h (malloc_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* include/ext/array_allocator.h (array_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* include/ext/mt_allocator.h (__mt_alloc<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* testsuite/util/testsuite_allocator.h (tracker_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
 	(uneq_allocator<>::construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* testsuite/ext/mt_allocator/variadic_construct.cc: New.
	* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/array_allocator/variadic_construct.cc: Likewise.

From-SVN: r129672
2007-10-27 00:41:21 +00:00
Marc Glisse 05a2763ef3 re PR libstdc++/27199 (ptrdiff_t and size_t outside of namespace std)
2006-04-23  Marc Glisse  <marc.glisse@normalesup.org>

	PR libstdc++/27199
	* ext/pool_allocator.h: Add using declarations for size_t, ptrdiff_t.
	* ext/bitmap_allocator.h: Likewise; qualify with std::.
	* ext/new_allocator.h: Likewise.
	* ext/malloc_allocator.h: Likewise.
	* ext/array_allocator.h: Likewise.
	* ext/mt_allocator.h: Likewise.
	* ext/functional: Likewise for size_t.
	* ext/debug_allocator.h: Likewise.
	* bits/char_traits.h: Qualify with std:: size_t.
	* debug/hash_multimap.h: Likewise.

From-SVN: r113195
2006-04-23 14:54:26 +00:00
Benjamin Kosnik 3cbc7af037 c++config: Add in revised namespace associations.
2005-12-18  Benjamin Kosnik  <bkoz@redhat.com>
	
	* include/bits/c++config: Add in revised namespace associations.
	_GLIBCXX_BEGIN_NAMESPACE: New macro.
	_GLIBCXX_END_NAMESPACE: Same.
	_GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
	_GLIBCXX_END_NESTED_NAMESPACE: Same.
	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
	* configure: Regenerated.
	* config.h.in: Same.
	* config/abi/pre/gnu-versioned-namespace.ver: New.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
	debug mode items. 
	* include/Makefile.am (${host_builddir}/c++config.h): Fill in
	values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
	* include/Makefile.in: Regnerate.
	* src/compatibility.cc: Alias new, nested definitions to exported
	symbols from non-nested __gnu_debug.
	* src/Makefile.am:  Add in ENABLE_SYMVERS_GNU_NAMESPACE.
	* src/Makefile.in: Regenerate.
	
	* docs/html/debug_mode.html: Revise for nested design.
	* docs/html/debug.html: Use debug qualifications instead of
	__gnu_debug.
	* docs/html/configopts.html: Revise documentation for
	--enable-symvers.
	
	* include/debug/formatter: Simplify namespace qualifications for
	current, nested-only reality. Add top-level namespace alias,
	namespace debug, for debug-mode containers.
	* include/debug/safe_iterator.h: Same.	
	* include/debug/set.h: Same.
	* include/debug/hash_multimap.h: Same.
	* include/debug/hash_set.h: Same.
	* include/debug/bitset
	* include/debug/safe_sequence.h: Same.
	* include/debug/multiset.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_iterator.tcc
	* include/debug/hash_multiset.h: Same.
	* include/debug/vector
	* include/debug/map.h: Same.
	* include/debug/deque
	* include/debug/hash_map.h: Same.
	* include/debug/string
	* include/debug/macros.h: Same.
	* include/debug/list
	* include/debug/debug.h: Same.
	* include/debug/multimap.h: Same.	
	* src/debug.cc: Same.
	* testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
	* testsuite/23_containers/vector/invalidation/2.cc: Same.
	* testsuite/23_containers/vector/invalidation/3.cc: Same.
	* testsuite/23_containers/vector/invalidation/4.cc: Same.
	* testsuite/23_containers/deque/invalidation/1.cc: Same.
	* testsuite/23_containers/deque/invalidation/2.cc: Same.
	* testsuite/23_containers/deque/invalidation/3.cc: Same.
	* testsuite/23_containers/deque/invalidation/4.cc: Same.
	* testsuite/23_containers/multiset/invalidation/1.cc: Same.
	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
	* testsuite/23_containers/multimap/invalidation/1.cc: Same.
	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
	* testsuite/23_containers/bitset/invalidation/1.cc: Same.
	* testsuite/23_containers/bitset/cons/16020.cc: Same.
	* testsuite/23_containers/bitset/operations/13838.cc: Same.
	* testsuite/23_containers/list/invalidation/1.cc: Same.
	* testsuite/23_containers/list/invalidation/2.cc: Same.
	* testsuite/23_containers/list/invalidation/3.cc: Same.
	* testsuite/23_containers/list/invalidation/4.cc: Same.
	* testsuite/23_containers/set/invalidation/1.cc: Same.
	* testsuite/23_containers/set/invalidation/2.cc: Same.
	* testsuite/23_containers/map/invalidation/1.cc: Same.
	* testsuite/23_containers/map/invalidation/2.cc: Same.
	* testsuite/23_containers/map/insert/16813.cc: Same.
	
	* include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
	friends.	
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/localefwd.h: Same.
	* include/bits/valarray_array.tcc: Same.
	* include/bits/valarray_after.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/locale_facets.tcc: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/stl_heap.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/atomicity.h: Same.
	* include/bits/stream_iterator.h: Same.
	* include/bits/concurrence.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/bits/basic_ios.tcc: Same.
	* include/bits/stl_raw_storage_iter.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/postypes.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stringfwd.h: Same.
	* include/bits/c++config
	* include/bits/stl_iterator.h: Same.
	* include/bits/valarray_array.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/vector.tcc: Same.
	* include/bits/deque.tcc: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/list.tcc: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/bits/valarray_before.h: Same.
	* include/bits/stl_construct.h: Same.
	* include/bits/stl_function.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/streambuf.tcc: Same.
	* include/bits/allocator.h: Same.
	* include/bits/stl_tree.h: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/stl_relops.h: Same.
	* include/bits/functexcept.h: Same.
	* include/std/std_valarray.h: Same.
	* include/std/std_iostream.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_iosfwd.h: Same.
	* include/std/std_iomanip.h: Same.
	* include/std/std_fstream.h: Same.
	* include/std/std_limits.h: Same.
	* include/std/std_stdexcept.h: Same.
	* include/std/std_istream.h: Same.
	* include/std/std_complex.h: Same.
	* include/std/std_memory.h: Same.
	* include/std/std_ostream.h: Same.
	* include/std/std_sstream.h: Same.
	* include/c_std/std_csignal.h: Same.
	* include/c_std/std_cstdlib.h: Same.
	* include/c_std/std_cstdio.h: Same.
	* include/c_std/std_cstdarg.h: Same.
	* include/c_std/std_cctype.h: Same.
	* include/c_std/std_cmath.h: Same.
	* include/c_std/std_ctime.h: Same.
	* include/c_std/std_clocale.h: Same.
	* include/c_std/std_csetjmp.h: Same.
	* include/c_std/std_cwchar.h: Same.
	* include/c_std/std_cstring.h: Same.
	* include/c_std/std_cstddef.h: Same.
	* include/c_std/std_cwctype.h: Same.
	* include/backward/iterator.h: Same.
	* include/backward/set.h: Same.
	* include/backward/hashtable.h: Same.
	* include/backward/fstream.h: Same.
	* include/backward/tempbuf.h: Same.
	* include/backward/istream.h: Same.
	* include/backward/bvector.h: Same.
	* include/backward/stack.h: Same.
	* include/backward/rope.h: Same.
	* include/backward/complex.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/heap.h: Same.
	* include/backward/iostream.h: Same.
	* include/backward/function.h: Same.
	* include/backward/multimap.h: Same.
	* include/backward/pair.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/iomanip.h: Same.
	* include/backward/strstream
	* include/backward/slist.h: Same.
	* include/backward/tree.h: Same.
	* include/backward/vector.h: Same.
	* include/backward/deque.h: Same.
	* include/backward/multiset.h: Same.
	* include/backward/list.h: Same.
	* include/backward/map.h: Same.
	* include/backward/algobase.h: Same.
	* include/backward/hash_map.h: Same.
	* include/backward/algo.h: Same.
	* include/backward/queue.h: Same.
	* include/backward/streambuf.h: Same.
	* src/allocator-inst.cc: Same.
	* src/complex_io.cc: Same.
	* src/localename.cc: Same.
	* src/limits.cc: Same.
	* src/ios_failure.cc: Same.
	* src/locale-misc-inst.cc: Same.
	* src/streambuf-inst.cc: Same.
	* src/misc-inst.cc: Same.
	* src/concept-inst.cc: Same.
	* src/ios_locale.cc: Same.
	* src/pool_allocator.cc: Same.
	* src/fstream-inst.cc: Same.
	* src/istream-inst.cc: Same.
	* src/string-inst.cc: Same.
	* src/locale_init.cc: Same.
	* src/ctype.cc: Same.
	* src/strstream.cc: Same.
	* src/ostream-inst.cc: Same.
	* src/functexcept.cc: Same.
	* src/streambuf.cc: Same.
	* src/sstream-inst.cc: Same.
	* src/ios.cc: Same.
	* src/valarray-inst.cc: Same.
	* src/locale.cc: Same.
	* src/tree.cc: Same.
	* src/stdexcept.cc: Same.
	* src/istream.cc: Same.
	* src/compatibility.cc: Same.
	* src/locale-inst.cc: Same.
	* src/globals_io.cc: Same.
	* src/list.cc: Same.
	* src/ios_init.cc: Same.
	* src/locale_facets.cc: Same.
	* src/codecvt.cc: Same.

	* include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/tuple
	* include/tr1/hashtable
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/unordered_set
	* include/tr1/functional
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/utility
	* include/tr1/type_traits
	* include/tr1/array

	* include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
	* include/ext/typelist.h: Same.
	* include/ext/hash_map: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/iterator: Same.
	* include/ext/rb_tree: Same.
	* include/ext/numeric: Same.
	* include/ext/vstring.tcc: Same.
	* include/ext/sso_string_base.h: Same.
	* include/ext/stdio_filebuf.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/codecvt_specializations.h: Same.
	* include/ext/new_allocator.h: Same.
	* include/ext/array_allocator.h: Same.
	* include/ext/vstring_util.h: Same.
	* include/ext/vstring_fwd.h: Same.
	* include/ext/mt_allocator.h: Same.
	* include/ext/debug_allocator.h: Same.
	* include/ext/slist: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/hash_fun.h: Same.
	* include/ext/malloc_allocator.h: Same.
	* include/ext/functional: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/pod_char_traits.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/ropeimpl.h: Same.
	* include/ext/hash_set: Same.
	* include/ext/memory: Same.
	* include/ext/rope: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/concurrence.h: Same.
	* include/bits/atomicity.h: Same.
	* config/locale/gnu/numeric_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/gnu/codecvt_members.cc: Same.
	* config/locale/gnu/messages_members.cc: Same.
	* config/locale/gnu/c_locale.h: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.h: Same.
	* config/locale/generic/numeric_members.cc: Same.
	* config/locale/generic/collate_members.cc: Same.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/generic/c_locale.cc: Same.
	* config/locale/generic/codecvt_members.cc: Same.
	* config/locale/generic/messages_members.cc: Same.
	* config/locale/generic/c_locale.h: Same.
	* config/locale/generic/monetary_members.cc: Same.
	* config/locale/generic/time_members.cc: Same.
	* config/os/aix/atomicity.h: Same.
	* config/os/irix/atomicity.h: Same.
	* config/cpu/powerpc/atomicity.h: Same.
	* config/cpu/cris/atomicity.h: Same.
	* config/cpu/ia64/atomicity.h: Same.
	* config/cpu/alpha/atomicity.h: Same.
	* config/cpu/m68k/atomicity.h: Same.
	* config/cpu/hppa/atomicity.h: Same.
	* config/cpu/mips/atomicity.h: Same.
	* config/cpu/sparc/atomicity.h: Same.
	* config/cpu/i386/atomicity.h: Same.
	* config/cpu/i486/atomicity.h: Same.
	* config/cpu/sh/atomicity.h: Same.
	* config/cpu/generic/atomicity.h: Same.
	* config/cpu/s390/atomicity.h: Same.
	* config/io/c_io_stdio.h: Same.
	* config/io/basic_file_stdio.cc: Same.
	* config/io/basic_file_stdio.h: Same.	
	* src/misc-inst.cc: Same.
	* src/concept-inst.cc: Same.
	* src/ext-inst.cc: Same.
	* src/string-inst.cc: Same.
	* src/pool_allocator.cc: Same.
	* src/bitmap_allocator.cc: Same.
	* src/mt_allocator.cc: Same.
	* libsupc++/exception: Same.
	* libsupc++/vterminate.cc: Same.
	* testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
	* testsuite/ext/hash_map/14648.cc: Same.	

	* libsupc++/eh_alloc.cc: Correct comment line spacing.

From-SVN: r108775
2005-12-19 00:56:05 +00:00
Kelley Cook 83f517994d All files: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update FSF address.

From-SVN: r103192
2005-08-17 02:28:44 +00:00
Benjamin Kosnik 0aa06b18fc doxygroups.cc: Add std::tr1 namespace.
2004-11-23  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/doxygen/doxygroups.cc: Add std::tr1 namespace.
	* docs/doxygen/run_doxygen: Renames for std::tr1.
	* docs/doxygen/user.cfg.in: Add cxxabi.h.
	* include/bits/*.tcc: Add file markup.
	* include/bits/allocator.h: Add link to allocator.html.
	* include/bits/atomicity.h: Add file markup.
	* include/bits/concurrence.h: Same.
	* include/bits/functexcept.h: Same.
	* include/ext*: Adjust file markup, remove GCC3 bits.
	* include/std/*: Adjust file markup, remove bits about renamed files.
	* libsupc++/cxxabi.h: Add file markup.
	* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust line numbers.

From-SVN: r91135
2004-11-24 04:11:23 +00:00
Benjamin Kosnik 6309eefc3d re PR libstdc++/17218 (unknown subjects in generated libstdc++ manpages)
2004-11-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/17218
	PR libstdc++/17223
	* docs/doxygen/filter: Remove.
	* docs/doxygen/filter.sed: Remove.
	* docs/doxygen/mainpage.html: Add link to functions.
	* docs/doxygen/run_doxygen: Changes due to new source filtering.
	* docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak.
	* include/bits/allocator.h: Tweaks for doxygen.
	* include/bits/char_traits.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/concurrence.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/ext/array_allocator.h: Same.
	* include/ext/debug_allocator.h: Same.
	* include/ext/malloc_allocator.h: Same.
	* include/ext/mt_allocator.h: Same.
	* include/ext/new_allocator.h: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/std/std_memory.h: Same.
	* include/tr1/array: Same.
	* include/tr1/tuple: Same.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
	* config/os/gnu-linux/ctype_base.h: Same.

From-SVN: r90137
2004-11-05 19:58:03 +00:00
Paolo Carlini a063e891bd bitmap_allocator.h (allocate): Throw std::bad_alloc when n > max_size().
2004-10-20  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/bitmap_allocator.h (allocate): Throw std::bad_alloc
	when n > max_size().
	* include/ext/malloc_allocator.h (allocate): Likewise.
	* include/ext/mt_allocator.h (allocate): Likewise.
	* include/ext/new_allocator.h (allocate): Likewise.
	* include/ext/array_allocator.h: Use __throw_bad_alloc().
	* include/ext/pool_allocator.h: Use __builtin_expect.
	* testsuite/ext/array_allocator/check_allocate_max_size.cc: New.
	* testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: Likewise.
	* testsuite/ext/malloc_allocator/check_allocate_max_size.cc: Likewise.
	* testsuite/ext/mt_allocator/check_allocate_max_size.cc: Likewise.
	* testsuite/ext/new_allocator/check_allocate_max_size.cc: Likewise.
	* testsuite/ext/pool_allocator/check_allocate_max_size.cc: Likewise.
	* testsuite/testsuite_allocator.h (check_allocate_max_size): New test.

From-SVN: r89351
2004-10-21 00:06:02 +00:00
Benjamin Kosnik f263b26e17 malloc_allocator.h: Add operators ==, !=.
2004-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/malloc_allocator.h: Add operators ==, !=.
	* include/ext/new_allocator.h: Add operators ==, !=.
	* include/ext/mt_allocator.h (__mt_alloc::tune): New.
	(__mt_alloc::_S_get_options): New.
	(__mt_alloc::_S_set_options): New.
	(__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
	(__mt_alloc::_S_no_of_bins): To _S_bin_size.
	Move functions out of line, simplify, format.
	* src/allocator.cc: Simplify explicit instantiations.
	* include/bits/allocator.h: Tweak.

From-SVN: r78314
2004-02-23 15:41:43 +00:00
Paolo Carlini dcec0389d1 PR libstdc++/13976 (continued)
2004-02-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13976 (continued)
	* include/ext/malloc_allocator.h (malloc_allocator::deallocate):
	Make the second parameter unnamed, to void unused parameter
	warnings.
	* include/ext/new_allocator.h (new_allocator::deallocate): Ditto.

From-SVN: r77113
2004-02-02 13:04:36 +00:00
Paolo Carlini 90f8b69248 re PR libstdc++/13976 (ext/new_allocator.h:81: warning: unused parameter '__h')
2004-02-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13976
	* include/ext/malloc_allocator.h (malloc_allocator::allocate):
	Make the second parameter unnamed, to void unused parameter
	warnings.
	* include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
	* include/ext/new_allocator.h (new_allocator::allocate): Ditto.

From-SVN: r77111
2004-02-02 12:39:55 +00:00
Benjamin Kosnik ba9d552e03 Makefile.am (bits_headers): Remove allocator_traits.h.
2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (bits_headers): Remove allocator_traits.h.
	* include/Makefile.in: Regenerate.
	* include/bits/allocator_traits.h: Remove.
	* include/bits/allocator.h: Remove allocator_traits.h include, and
	relevant comments.
	(allocator): Empty base class, inherit from the underlying allocator.
	* src/allocator-inst.cc: Move __pool_alloc instantiation to...
	* src/allocator.cc: ...here. New. For the underlying allocators.
	Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
	* config/linker-map.gnu: Remove __pool_alloc bits.
	* src/Makefile.am (sources): Add allocator.cc.
	* src/Makefile.in: Regenerate.
	* testsuite/20_util/allocator/1.cc: Split second test into...
	* testsuite/20_util/allocator/8230.cc: ...this.
	* include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
	typedef to use std::allocatore. Format.
	* include/ext/pool_allocator.h: Remove allocator_traits.h include,
	_Alloc_traits.
	* include/ext/mt_allocator.h (__gnu_cxx): Qualify
	__throw_bad_alloc calls. Don't include <memory>.
	* include/ext/malloc_allocator.h: Remove <memory> include.
	* include/ext/new_allocator.h (new_allocator): Same.
	* include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
	declaration. Switch __alloc to _Alloc.
	* include/ext/hashtable.h: Remove __alloc.
	* include/backward/alloc.h: Only inject allocator, not
	implementation details.

	* include/ext/mt_allocator.h: Replace free with delete.

From-SVN: r76821
2004-01-29 00:18:40 +00:00
Benjamin Kosnik d38d4e5d18 new_allocator.h (new_allocator): Proper allocator class.
2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/new_allocator.h (new_allocator): Proper allocator class.
	(__new_alloc): Delete.
	* include/ext/malloc_allocator.h (malloc_allocator): Same.
	(__malloc_alloc): Delete.
 	* include/ext/mt_allocator.h: Same, but weakly.
 	* include/ext/debug_allocator.h: Convert to the new style.
	* include/ext/pool_allocator.h: Use global new and delete directly.
	* include/backward/alloc.h: Don't inject malloc_allocator, or
	debug_allocator.
	* testsuite/ext/allocators.cc: Minimal fixups for usage of new
	classes.  Comment out tests with __pool_alloc for now.
	* testsuite/performance/allocator.cc: Same.

From-SVN: r74965
2003-12-23 07:24:57 +00:00
Benjamin Kosnik 1ff9402d8f [multiple changes]
2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_alloc.h (__debug_alloc): Move out.
	(__malloc_alloc): Same.
	(__pool_alloc): Same.
	(__new_alloc): Same.
	Rename to..
	* include/bits/allocator.h: ...this.
	* include/bits/stl_deque.h: Modify comment.
	* include/bits/stl_tree.h: Modify include.
	* include/std/std_memory.h: Same.
	* include/ext/rope: Same.
	* include/ext/slist: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_queue.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_deque.h: Same.
	* include/backward/alloc.h: Same.
	* include/ext/debug_allocator.h: New.
	* include/ext/malloc_allocator.h: New.
	* include/ext/pool_allocator.h: New.
	* include/ext/new_allocator.h: New.
	* include/bits/pthread_allocimpl.h: Remove.
	* include/bits/stl_pthread_alloc.h: Remove.
	* include/Makefile.am (ext_headers): Add.
	* include/Makefile.in: Regenerate.
	* src/stl-inst.cc: Use __gnu_cxx namespace.
	* src/stl-inst.cc: Move to...
	* src/allocator-inst.cc: Here.
	* src/Makefile.am (sources): Update.
	* src/Makefile.in: Regenerate.
	* config/linker-map.gnu: Remove __pool_alloc bits.
	* testsuite/ext/headers.cc: Add.
	* testsuite/ext/allocators.cc: Fixup.

2003-06-11  Stefan Olsson  <stefan@snon.net>
            Ola R�nnerup  <fnolis@home.se>

	* include/Makefile.am (ext_headers): Add.
	* include/Makefile.in: Regenerate.
	* include/ext/mt_allocator.h: New file.

From-SVN: r67777
2003-06-11 15:52:11 +00:00