Commit Graph

119 Commits

Author SHA1 Message Date
Benjamin Kosnik
a024740df4 [multiple changes]
2007-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	Revamp library API testing.
	Added:
	* 17_intro/headers
	* 17_intro/headers/all_assert_neg.cc
	* 17_intro/headers/all_c++200x_compatibility.cc
	* 17_intro/headers/all.cc
	* 17_intro/headers/c++1998
	* 17_intro/headers/c++1998/all.cc
	* 17_intro/headers/c++1998/all_multiple_inclusion.cc
	* 17_intro/headers/c++1998/c++_for_c.tar
	* 17_intro/headers/c++1998/c++.tar
	* 17_intro/using_namespace_std.cc
	* 18_support/headers
	* 18_support/headers/cfloat
	* 18_support/headers/cfloat/values.cc
	* 18_support/headers/climits
	* 18_support/headers/climits/values.cc
	* 18_support/headers/csetjmp
	* 18_support/headers/csetjmp/functions_std.cc
	* 18_support/headers/csetjmp/macros.cc
	* 18_support/headers/csetjmp/types_std.cc
	* 18_support/headers/csignal
	* 18_support/headers/csignal/functions_std.cc
	* 18_support/headers/csignal/macros.cc
	* 18_support/headers/csignal/types_std.cc
	* 18_support/headers/cstdarg
	* 18_support/headers/cstdarg/macros.cc
	* 18_support/headers/cstdarg/types_std.cc
	* 18_support/headers/cstddef
	* 18_support/headers/cstddef/macros.cc
	* 18_support/headers/cstddef/types_std.cc
	* 18_support/headers/cstdlib
	* 18_support/headers/cstdlib/functions_std.cc
	* 18_support/headers/cstdlib/macros.cc
	* 18_support/headers/ctime
	* 18_support/headers/ctime/functions_std.cc
	* 18_support/headers/ctime/macros.cc
	* 18_support/headers/ctime/types_std.cc
	* 18_support/headers/exception
	* 18_support/headers/exception/synopsis.cc
	* 18_support/headers/exception/types_std.cc
	* 18_support/headers/limits
	* 18_support/headers/limits/synopsis.cc
	* 18_support/headers/new
	* 18_support/headers/new/synopsis.cc
	* 18_support/headers/new/types_std.cc
	* 18_support/headers/typeinfo
	* 18_support/headers/typeinfo/synopsis.cc
	* 18_support/headers/typeinfo/types_std.cc
	* 18_support/numeric_limits/is_signed.cc
	* 18_support/numeric_limits/requirements
	* 18_support/numeric_limits/requirements/explicit_instantiation
	* 18_support/numeric_limits/requirements/explicit_instantiation/1.cc
	* 18_support/numeric_limits/specialization_default_values.cc
	* 19_diagnostics/headers
	* 19_diagnostics/headers/cassert
	* 19_diagnostics/headers/cassert/macros.cc
	* 19_diagnostics/headers/cerrno
	* 19_diagnostics/headers/cerrno/macros.cc
	* 19_diagnostics/headers/stdexcept
	* 19_diagnostics/headers/stdexcept/synopsis.cc
	* 19_diagnostics/headers/stdexcept/types_std.cc
	* 20_util/headers
	* 20_util/headers/cstdlib
	* 20_util/headers/cstdlib/functions_std.cc
	* 20_util/headers/cstring
	* 20_util/headers/cstring/functions_std.cc
	* 20_util/headers/cstring/macros.cc
	* 20_util/headers/cstring/types_std.cc
	* 20_util/headers/ctime
	* 20_util/headers/ctime/functions_std.cc
	* 20_util/headers/ctime/macros.cc
	* 20_util/headers/ctime/types_std.cc
	* 20_util/headers/functional
	* 20_util/headers/functional/synopsis.cc
	* 20_util/headers/memory
	* 20_util/headers/memory/synopsis.cc
	* 20_util/headers/utility
	* 20_util/headers/utility/synopsis.cc
	* 20_util/headers/utility/using_namespace_std_rel_ops.cc
	* 20_util/memory/allocator/requirements
	* 20_util/memory/allocator/requirements/explicit_instantiation
	* 20_util/memory/allocator/requirements/explicit_instantiation/1.cc
	* 20_util/memory/auto_ptr/requirements
	* 20_util/memory/auto_ptr/requirements/explicit_instantiation
	* 20_util/memory/auto_ptr/requirements/explicit_instantiation/1.cc
	* 20_util/memory/raw_storage_iterator
	* 20_util/memory/raw_storage_iterator/requirements
	* 20_util/memory/raw_storage_iterator/requirements/base_classes.cc
	* 20_util/memory/raw_storage_iterator/requirements/
	explicit_instantiation
	* 20_util/memory/raw_storage_iterator/requirements/
	explicit_instantiation/1.cc
	* 20_util/memory/raw_storage_iterator/requirements/typedefs.cc
	* 20_util/utility/pair/requirements
	* 20_util/utility/pair/requirements/explicit_instantiation
	* 20_util/utility/pair/requirements/explicit_instantiation/1.cc
	* 21_strings/basic_string/requirements
	* 21_strings/basic_string/requirements/explicit_instantiation
	* 21_strings/basic_string/requirements/explicit_instantiation/1.cc
	* 21_strings/basic_string/requirements/explicit_instantiation/debug.cc
	* 21_strings/headers
	* 21_strings/headers/cctype
	* 21_strings/headers/cctype/functions_std.cc
	* 21_strings/headers/cstdlib
	* 21_strings/headers/cstdlib/functions_std.cc
	* 21_strings/headers/cstdlib/macros.cc
	* 21_strings/headers/cstring
	* 21_strings/headers/cstring/functions_std.cc
	* 21_strings/headers/cstring/macros.cc
	* 21_strings/headers/cstring/types_std.cc
	* 21_strings/headers/cwchar
	* 21_strings/headers/cwchar/functions_std.cc
	* 21_strings/headers/cwchar/macros.cc
	* 21_strings/headers/cwchar/types_std.cc
	* 21_strings/headers/cwctype
	* 21_strings/headers/cwctype/functions_std.cc
	* 21_strings/headers/cwctype/macros.cc
	* 21_strings/headers/cwctype/types_std.cc
	* 21_strings/headers/string
	* 21_strings/headers/string/synopsis.cc
	* 21_strings/headers/string/types_std.cc
	* 22_locale/codecvt_byname/requirements
	* 22_locale/codecvt_byname/requirements/base_classes.cc
	* 22_locale/codecvt_byname/requirements/explicit_instantiation.cc
	* 22_locale/codecvt_byname/requirements/typedefs.cc
	* 22_locale/codecvt/requirements
	* 22_locale/codecvt/requirements/base_classes.cc
	* 22_locale/codecvt/requirements/explicit_instantiation.cc
	* 22_locale/codecvt/requirements/typedefs.cc
	* 22_locale/collate_byname/requirements
	* 22_locale/collate_byname/requirements/base_classes.cc
	* 22_locale/collate_byname/requirements/explicit_instantiation.cc
	* 22_locale/collate_byname/requirements/typedefs.cc
	* 22_locale/collate/requirements
	* 22_locale/collate/requirements/base_classes.cc
	* 22_locale/collate/requirements/explicit_instantiation.cc
	* 22_locale/collate/requirements/typedefs.cc
	* 22_locale/ctype_base/mask.cc
	* 22_locale/ctype/requirements
	* 22_locale/ctype/requirements/base_classes.cc
	* 22_locale/ctype/requirements/explicit_instantiation.cc
	* 22_locale/ctype/requirements/typedefs.cc
	* 22_locale/headers
	* 22_locale/headers/clocale
	* 22_locale/headers/clocale/functions_std.cc
	* 22_locale/headers/clocale/macros.cc
	* 22_locale/headers/clocale/types_std.cc
	* 22_locale/headers/locale
	* 22_locale/headers/locale/synopsis.cc
	* 22_locale/headers/locale/types_std.cc
	* 22_locale/messages_byname/requirements
	* 22_locale/messages_byname/requirements/base_classes.cc
	* 22_locale/messages_byname/requirements/explicit_instantiation.cc
	* 22_locale/messages_byname/requirements/typedefs.cc
	* 22_locale/messages/requirements
	* 22_locale/messages/requirements/base_classes.cc
	* 22_locale/messages/requirements/explicit_instantiation.cc
	* 22_locale/messages/requirements/typedefs.cc
	* 22_locale/money_get/cons
	* 22_locale/money_get/cons/3.cc
	* 22_locale/money_get/requirements
	* 22_locale/money_get/requirements/base_classes.cc
	* 22_locale/money_get/requirements/explicit_instantiations.cc
	* 22_locale/money_get/requirements/typedefs.cc
	* 22_locale/moneypunct_byname/requirements
	* 22_locale/moneypunct_byname/requirements/base_classes.cc
	* 22_locale/moneypunct_byname/requirements/explicit_instantiation.cc
	* 22_locale/moneypunct_byname/requirements/typedefs.cc
	* 22_locale/moneypunct/requirements
	* 22_locale/moneypunct/requirements/false
	* 22_locale/moneypunct/requirements/false/base_classes.cc
	* 22_locale/moneypunct/requirements/false/explicit_instantiation.cc
	* 22_locale/moneypunct/requirements/false/intl.cc
	* 22_locale/moneypunct/requirements/false/typedefs.cc
	* 22_locale/moneypunct/requirements/true
	* 22_locale/moneypunct/requirements/true/base_classes.cc
	* 22_locale/moneypunct/requirements/true/explicit_instantiation.cc
	* 22_locale/moneypunct/requirements/true/intl.cc
	* 22_locale/moneypunct/requirements/true/typedefs.cc
	* 22_locale/money_put/cons
	* 22_locale/money_put/cons/3.cc
	* 22_locale/money_put/requirements
	* 22_locale/money_put/requirements/base_classes.cc
	* 22_locale/money_put/requirements/explicit_instantiation.cc
	* 22_locale/money_put/requirements/typedefs.cc
	* 22_locale/num_get/cons
	* 22_locale/num_get/cons/3.cc
	* 22_locale/num_get/requirements
	* 22_locale/num_get/requirements/base_classes.cc
	* 22_locale/num_get/requirements/explicit_instantiation.cc
	* 22_locale/num_get/requirements/typedefs.cc
	* 22_locale/numpunct_byname/requirements
	* 22_locale/numpunct_byname/requirements/base_classes.cc
	* 22_locale/numpunct_byname/requirements/explicit_instantiations.cc
	* 22_locale/numpunct_byname/requirements/typedefs.cc
	* 22_locale/numpunct/requirements
	* 22_locale/numpunct/requirements/base_classes.cc
	* 22_locale/numpunct/requirements/explicit_instantiations.cc
	* 22_locale/numpunct/requirements/typedefs.cc
	* 22_locale/num_put/cons
	* 22_locale/num_put/cons/3.cc
	* 22_locale/num_put/requirements
	* 22_locale/num_put/requirements/base_classes.cc
	* 22_locale/num_put/requirements/explicit_instantiations.cc
	* 22_locale/num_put/requirements/typedefs.cc
	* 22_locale/time_get/requirements
	* 22_locale/time_get/requirements/base_classes.cc
	* 22_locale/time_get/requirements/explicit_instantiations.cc
	* 22_locale/time_get/requirements/typedefs.cc
	* 22_locale/time_put/requirements
	* 22_locale/time_put/requirements/base_classes.cc
	* 22_locale/time_put/requirements/explicit_instantiations.cc
	* 22_locale/time_put/requirements/typedefs.cc
	* 23_containers/bitset/requirements
	* 23_containers/bitset/requirements/explicit_instantiation
	* 23_containers/bitset/requirements/explicit_instantiation/1.cc
	* 23_containers/deque/requirements
	* 23_containers/deque/requirements/explicit_instantiation
	* 23_containers/deque/requirements/partial_specialization
	* 23_containers/deque/requirements/partial_specialization/1.cc
	* 23_containers/headers
	* 23_containers/headers/bitset
	* 23_containers/headers/bitset/synopsis.cc
	* 23_containers/headers/deque
	* 23_containers/headers/deque/synopsis.cc
	* 23_containers/headers/list
	* 23_containers/headers/list/synopsis.cc
	* 23_containers/headers/map
	* 23_containers/headers/map/synopsis.cc
	* 23_containers/headers/queue
	* 23_containers/headers/queue/synopsis.cc
	* 23_containers/headers/set
	* 23_containers/headers/set/synopsis.cc
	* 23_containers/headers/stack
	* 23_containers/headers/stack/synopsis.cc
	* 23_containers/headers/vector
	* 23_containers/headers/vector/synopsis.cc
	* 23_containers/list/requirements
	* 23_containers/list/requirements/explicit_instantiation
	* 23_containers/list/requirements/partial_specialization
	* 23_containers/list/requirements/partial_specialization/1.cc
	* 23_containers/map/requirements
	* 23_containers/map/requirements/explicit_instantiation
	* 23_containers/map/requirements/partial_specialization
	* 23_containers/map/requirements/partial_specialization/1.cc
	* 23_containers/multimap/requirements
	* 23_containers/multimap/requirements/explicit_instantiation
	* 23_containers/multimap/requirements/partial_specialization
	* 23_containers/multimap/requirements/partial_specialization/1.cc
	* 23_containers/multiset/requirements
	* 23_containers/multiset/requirements/explicit_instantiation
	* 23_containers/multiset/requirements/partial_specialization
	* 23_containers/multiset/requirements/partial_specialization/1.cc
	* 23_containers/priority_queue/requirements
	* 23_containers/priority_queue/requirements/explicit_instantiation
	* 23_containers/priority_queue/requirements/explicit_instantiation/1.cc
	* 23_containers/queue/requirements
	* 23_containers/queue/requirements/explicit_instantiation
	* 23_containers/queue/requirements/explicit_instantiation/1.cc
	* 23_containers/set/requirements
	* 23_containers/set/requirements/explicit_instantiation
	* 23_containers/set/requirements/partial_specialization
	* 23_containers/set/requirements/partial_specialization/1.cc
	* 23_containers/stack/requirements
	* 23_containers/stack/requirements/explicit_instantiation
	* 23_containers/stack/requirements/explicit_instantiation/1.cc
	* 23_containers/vector/requirements
	* 23_containers/vector/requirements/explicit_instantiation
	* 23_containers/vector/requirements/partial_specialization
	* 23_containers/vector/requirements/partial_specialization/1.cc
	* 24_iterators/back_insert_iterator
	* 24_iterators/back_insert_iterator/2.cc
	* 24_iterators/back_insert_iterator/requirements
	* 24_iterators/back_insert_iterator/requirements/base_classes.cc
	* 24_iterators/back_insert_iterator/requirements/container.cc
	* 24_iterators/back_insert_iterator/requirements/
	explicit_instantiation.cc
	* 24_iterators/back_insert_iterator/requirements/typedefs.cc
	* 24_iterators/front_insert_iterator
	* 24_iterators/front_insert_iterator/2.cc
	* 24_iterators/front_insert_iterator/requirements
	* 24_iterators/front_insert_iterator/requirements/base_classes.cc
	* 24_iterators/front_insert_iterator/requirements/container.cc
	* 24_iterators/front_insert_iterator/requirements/
	explicit_instantiation.cc
	* 24_iterators/front_insert_iterator/requirements/typedefs.cc
	* 24_iterators/headers
	* 24_iterators/headers/iterator
	* 24_iterators/headers/iterator/synopsis.cc
	* 24_iterators/headers/iterator/types_std.cc
	* 24_iterators/insert_iterator
	* 24_iterators/insert_iterator/2.cc
	* 24_iterators/insert_iterator/requirements
	* 24_iterators/insert_iterator/requirements/base_classes.cc
	* 24_iterators/insert_iterator/requirements/container.cc
	* 24_iterators/insert_iterator/requirements/explicit_instantiation.cc
	* 24_iterators/insert_iterator/requirements/typedefs.cc
	* 24_iterators/istreambuf_iterator/requirements
	* 24_iterators/istreambuf_iterator/requirements/base_classes.cc
	* 24_iterators/istreambuf_iterator/requirements/
	explicit_instantiation.cc
	* 24_iterators/istreambuf_iterator/requirements/typedefs.cc
	* 24_iterators/istream_iterator
	* 24_iterators/istream_iterator/2.cc
	* 24_iterators/istream_iterator/requirements
	* 24_iterators/istream_iterator/requirements/base_classes.cc
	* 24_iterators/istream_iterator/requirements/explicit_instantiation.cc
	* 24_iterators/istream_iterator/requirements/typedefs.cc
	* 24_iterators/ostreambuf_iterator/requirements
	* 24_iterators/ostreambuf_iterator/requirements/base_classes.cc
	* 24_iterators/ostreambuf_iterator/requirements/
	explicit_instantiation.cc
	* 24_iterators/ostreambuf_iterator/requirements/typedefs.cc
	* 24_iterators/ostream_iterator
	* 24_iterators/ostream_iterator/requirements
	* 24_iterators/ostream_iterator/requirements/base_classes.cc
	* 24_iterators/ostream_iterator/requirements/explicit_instantiation.cc
	* 24_iterators/ostream_iterator/requirements/typedefs.cc
	* 24_iterators/random_access_iterator
	* 24_iterators/random_access_iterator/26020.cc
	* 24_iterators/random_access_iterator/string_vector_iterators.cc
	* 24_iterators/reverse_iterator/requirements
	* 24_iterators/reverse_iterator/requirements/base_classes.cc
	* 24_iterators/reverse_iterator/requirements/current.cc
	* 24_iterators/reverse_iterator/requirements/explicit_instantiation.cc
	* 24_iterators/reverse_iterator/requirements/typedefs.cc
	* 25_algorithms/headers
	* 25_algorithms/headers/algorithm
	* 25_algorithms/headers/algorithm/synopsis.cc
	* 25_algorithms/headers/cstdlib
	* 25_algorithms/headers/cstdlib/functions_std.cc
	* 26_numerics/headers
	* 26_numerics/headers/cmath
	* 26_numerics/headers/cmath/19322.cc
	* 26_numerics/headers/cmath/c99_classification_macros_c.cc
	* 26_numerics/headers/cmath/c99_classification_macros_c++.cc
	* 26_numerics/headers/cmath/c_math.cc
	* 26_numerics/headers/cmath/c_math_dynamic.cc
	* 26_numerics/headers/cmath/fabs_inline.cc
	* 26_numerics/headers/cmath/functions_std.cc
	* 26_numerics/headers/cmath/macros.cc
	* 26_numerics/headers/cmath/overloads.cc
	* 26_numerics/headers/cmath/powi.cc
	* 26_numerics/headers/complex
	* 26_numerics/headers/complex/synopsis.cc
	* 26_numerics/headers/cstdlib
	* 26_numerics/headers/cstdlib/13943.cc
	* 26_numerics/headers/cstdlib/2190.cc
	* 26_numerics/headers/cstdlib/functions_std.cc
	* 26_numerics/headers/cstdlib/macros.cc
	* 26_numerics/headers/cstdlib/types_std.cc
	* 26_numerics/headers/numeric
	* 26_numerics/headers/numeric/synopsis.cc
	* 26_numerics/headers/valarray
	* 26_numerics/headers/valarray/synopsis.cc
	* 26_numerics/headers/valarray/types_std.cc
	* 26_numerics/numeric_arrays
	* 26_numerics/numeric_operations
	* 27_io/basic_filebuf/cons/2020.cc
	* 27_io/basic_filebuf/requirements
	* 27_io/basic_filebuf/requirements/base_classes.cc
	* 27_io/basic_filebuf/requirements/explicit_instantiation.cc
	* 27_io/basic_filebuf/requirements/typedefs.cc
	* 27_io/basic_fstream/cons
	* 27_io/basic_fstream/cons/3.cc
	* 27_io/basic_fstream/requirements
	* 27_io/basic_fstream/requirements/base_classes.cc
	* 27_io/basic_fstream/requirements/explicit_instantiation.cc
	* 27_io/basic_fstream/requirements/typedefs.cc
	* 27_io/basic_ifstream/cons/2020.cc
	* 27_io/basic_ifstream/requirements
	* 27_io/basic_ifstream/requirements/base_classes.cc
	* 27_io/basic_ifstream/requirements/explicit_instantiation.cc
	* 27_io/basic_ifstream/requirements/typedefs.cc
	* 27_io/basic_ios/cons/2020.cc
	* 27_io/basic_ios/requirements
	* 27_io/basic_ios/requirements/base_classes.cc
	* 27_io/basic_ios/requirements/explicit_instantiation.cc
	* 27_io/basic_ios/requirements/typedefs.cc
	* 27_io/basic_iostream/cons
	* 27_io/basic_iostream/cons/2020.cc
	* 27_io/basic_iostream/requirements
	* 27_io/basic_iostream/requirements/base_classes.cc
	* 27_io/basic_iostream/requirements/explicit_instantiation.cc
	* 27_io/basic_iostream/requirements/typedefs.cc
	* 27_io/basic_istream/cons
	* 27_io/basic_istream/cons/3.cc
	* 27_io/basic_istream/requirements
	* 27_io/basic_istream/requirements/base_classes.cc
	* 27_io/basic_istream/requirements/explicit_instantiation.cc
	* 27_io/basic_istream/requirements/typedefs.cc
	* 27_io/basic_istringstream/cons
	* 27_io/basic_istringstream/cons/2020.cc
	* 27_io/basic_istringstream/requirements
	* 27_io/basic_istringstream/requirements/base_classes.cc
	* 27_io/basic_istringstream/requirements/explicit_instantiation.cc
	* 27_io/basic_istringstream/requirements/typedefs.cc
	* 27_io/basic_ofstream/cons/2020.cc
	* 27_io/basic_ofstream/requirements
	* 27_io/basic_ofstream/requirements/base_classes.cc
	* 27_io/basic_ofstream/requirements/explicit_instantiations.cc
	* 27_io/basic_ofstream/requirements/typedefs.cc
	* 27_io/basic_ostream/cons/2020.cc
	* 27_io/basic_ostream/requirements
	* 27_io/basic_ostream/requirements/base_classes.cc
	* 27_io/basic_ostream/requirements/explicit_instantiation.cc
	* 27_io/basic_ostream/requirements/typedefs.cc
	* 27_io/basic_ostringstream/cons/2020.cc
	* 27_io/basic_ostringstream/requirements
	* 27_io/basic_ostringstream/requirements/base_classes.cc
	* 27_io/basic_ostringstream/requirements/explicit_instantiation.cc
	* 27_io/basic_ostringstream/requirements/typedefs.cc
	* 27_io/basic_streambuf/cons/2020.cc
	* 27_io/basic_streambuf/requirements
	* 27_io/basic_streambuf/requirements/base_classes.cc
	* 27_io/basic_streambuf/requirements/typedefs.cc
	* 27_io/basic_stringbuf/cons/2020.cc
	* 27_io/basic_stringbuf/requirements
	* 27_io/basic_stringbuf/requirements/base_classes.cc
	* 27_io/basic_stringbuf/requirements/explicit_instantiation
	* 27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc
	* 27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc
	* 27_io/basic_stringbuf/requirements/typedefs.cc
	* 27_io/basic_stringstream/cons
	* 27_io/basic_stringstream/cons/2020.cc
	* 27_io/basic_stringstream/requirements
	* 27_io/basic_stringstream/requirements/base_classes.cc
	* 27_io/basic_stringstream/requirements/explicit_instantiation.cc
	* 27_io/basic_stringstream/requirements/typedefs.cc
	* 27_io/fpos/requirements
	* 27_io/fpos/requirements/explicit_instantiation.cc
	* 27_io/headers
	* 27_io/headers/cstdio
	* 27_io/headers/cstdio/functions_std.cc
	* 27_io/headers/cstdio/macros.cc
	* 27_io/headers/cstdio/types_std.cc
	* 27_io/headers/cstdlib
	* 27_io/headers/fstream
	* 27_io/headers/fstream/synopsis.cc
	* 27_io/headers/fstream/types_std.cc
	* 27_io/headers/iomanip
	* 27_io/headers/iomanip/synopsis.cc
	* 27_io/headers/ios
	* 27_io/headers/ios/synopsis.cc
	* 27_io/headers/iostream
	* 27_io/headers/iostream/synopsis.cc
	* 27_io/headers/iostream/types_std.cc
	* 27_io/headers/ios/types_std.cc
	* 27_io/headers/istream
	* 27_io/headers/istream/synopsis.cc
	* 27_io/headers/istream/types_std.cc
	* 27_io/headers/ostream
	* 27_io/headers/ostream/synopsis.cc
	* 27_io/headers/ostream/types_std.cc
	* 27_io/headers/sstream
	* 27_io/headers/sstream/synopsis.cc
	* 27_io/headers/sstream/types_std.cc
	* 27_io/headers/streambuf
	* 27_io/headers/streambuf/synopsis.cc
	* 27_io/headers/streambuf/types_std.cc
	* ext/debug_allocator/explicit_instantiation.cc
	* ext/hash_map/requirements
	* ext/hash_map/requirements/explicit_instantiation.cc
	* ext/hash_set/requirements
	* ext/hash_set/requirements/explicit_instantiation.cc
	* ext/malloc_allocator/explicit_instantiation.cc
	* ext/mt_allocator/explicit_instantiation.cc
	* ext/pool_allocator/explicit_instantiation.cc
	* ext/slist/requirements
	* ext/slist/requirements/explicit_instantiation.cc
	* ext/stdio_filebuf/requirements
	* ext/stdio_filebuf/requirements/explicit_instantiation.cc
	* ext/vstring/requirements
	* ext/vstring/requirements/explicit_instantiation
	* tr1/2_general_utilities/headers
	* tr1/2_general_utilities/headers/functional
	* tr1/2_general_utilities/headers/functional/synopsis.cc
	* tr1/2_general_utilities/headers/memory
	* tr1/2_general_utilities/headers/memory/synopsis.cc
	* tr1/2_general_utilities/headers/memory/types_std_tr1.cc
	* tr1/2_general_utilities/memory/enable_shared_from_this/requirements
	* tr1/2_general_utilities/memory/enable_shared_from_this/
	requirements/explicit_instantiation
	* tr1/2_general_utilities/memory/shared_ptr/requirements
	* tr1/2_general_utilities/memory/shared_ptr/requirements/
	explicit_instantiation
	* tr1/2_general_utilities/memory/weak_ptr/requirements
	* tr1/2_general_utilities/memory/weak_ptr/requirements/
	explicit_instantiation
	* tr1/3_function_objects/headers
	* tr1/3_function_objects/headers/functional
	* tr1/3_function_objects/headers/functional/synopsis.cc
	* tr1/3_function_objects/headers/functional/types_std_tr1.cc
	* tr1/3_function_objects/headers/functional/
	using_namespace_std_tr1_placeholders.cc
	* tr1/4_metaprogramming/headers
	* tr1/4_metaprogramming/headers/type_traits
	* tr1/4_metaprogramming/headers/type_traits/synopsis.cc
	* tr1/4_metaprogramming/headers/type_traits/types_std_tr1.cc
	* tr1/5_numerical_facilities/headers
	* tr1/5_numerical_facilities/headers/random
	* tr1/5_numerical_facilities/headers/random/synopsis.cc
	* tr1/5_numerical_facilities/headers/random/types_std_tr1.cc
	* tr1/5_numerical_facilities/random/discard_block/
	requirements/typedefs.cc
	* tr1/6_containers/array/requirements/explicit_instantiation.cc
	* tr1/6_containers/hash
	* tr1/6_containers/hash/requirements
	* tr1/6_containers/hash/requirements/base_classes.cc
	* tr1/6_containers/hash/requirements/explicit_instantiation.cc
	* tr1/6_containers/headers
	* tr1/6_containers/headers/array
	* tr1/6_containers/headers/array/synopsis.cc
	* tr1/6_containers/headers/functional
	* tr1/6_containers/headers/functional/synopsis.cc
	* tr1/6_containers/headers/tuple
	* tr1/6_containers/headers/tuple/synopsis.cc
	* tr1/6_containers/headers/tuple/types_std_tr1.cc
	* tr1/6_containers/headers/unordered_map
	* tr1/6_containers/headers/unordered_map/synopsis.cc
	* tr1/6_containers/headers/unordered_set
	* tr1/6_containers/headers/unordered_set/synopsis.cc
	* tr1/6_containers/tuple/requirements
	* tr1/6_containers/tuple/requirements/explicit_instantiation.cc
	* tr1/6_containers/unordered_map
	* tr1/6_containers/unordered_map/24064.cc
	* tr1/6_containers/unordered_map/capacity
	* tr1/6_containers/unordered_map/capacity/29134-map.cc
	* tr1/6_containers/unordered_map/erase
	* tr1/6_containers/unordered_map/erase/24061-map.cc
	* tr1/6_containers/unordered_map/find
	* tr1/6_containers/unordered_map/find/map1.cc
	* tr1/6_containers/unordered_map/insert
	* tr1/6_containers/unordered_map/insert/24061-map.cc
	* tr1/6_containers/unordered_map/insert/array_syntax.cc
	* tr1/6_containers/unordered_map/insert/map_range.cc
	* tr1/6_containers/unordered_map/insert/map_single.cc
	* tr1/6_containers/unordered_map/requirements
	* tr1/6_containers/unordered_map/requirements/explicit_instantiation.cc
	* tr1/6_containers/unordered_map/requirements/iterator_neg.cc
	* tr1/6_containers/unordered_map/requirements/iterator_null_neg.cc
	* tr1/6_containers/unordered_map/swap
	* tr1/6_containers/unordered_map/swap/1.cc
	* tr1/6_containers/unordered_map/swap/2.cc
	* tr1/6_containers/unordered_multimap
	* tr1/6_containers/unordered_multimap/capacity
	* tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
	* tr1/6_containers/unordered_multimap/erase
	* tr1/6_containers/unordered_multimap/erase/24061-multimap.cc
	* tr1/6_containers/unordered_multimap/find
	* tr1/6_containers/unordered_multimap/find/multimap1.cc
	* tr1/6_containers/unordered_multimap/insert
	* tr1/6_containers/unordered_multimap/insert/24061-multimap.cc
	* tr1/6_containers/unordered_multimap/insert/multimap_range.cc
	* tr1/6_containers/unordered_multimap/insert/multimap_single.cc
	* tr1/6_containers/unordered_multimap/requirements
	* tr1/6_containers/unordered_multimap/requirements/
	explicit_instantiation.cc
	* tr1/6_containers/unordered_multimap/requirements/iterator_neg.cc
	* tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc
	* tr1/6_containers/unordered_multimap/swap
	* tr1/6_containers/unordered_multimap/swap/1.cc
	* tr1/6_containers/unordered_multimap/swap/2.cc
	* tr1/6_containers/unordered_multiset
	* tr1/6_containers/unordered_multiset/24054.cc
	* tr1/6_containers/unordered_multiset/capacity
	* tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
	* tr1/6_containers/unordered_multiset/erase
	* tr1/6_containers/unordered_multiset/erase/24061-multiset.cc
	* tr1/6_containers/unordered_multiset/find
	* tr1/6_containers/unordered_multiset/find/multiset1.cc
	* tr1/6_containers/unordered_multiset/insert
	* tr1/6_containers/unordered_multiset/insert/24061-multiset.cc
	* tr1/6_containers/unordered_multiset/insert/multiset_range.cc
	* tr1/6_containers/unordered_multiset/insert/multiset_single.cc
	* tr1/6_containers/unordered_multiset/requirements
	* tr1/6_containers/unordered_multiset/requirements/
	explicit_instantiation.cc
	* tr1/6_containers/unordered_multiset/requirements/iterator_neg.cc
	* tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc
	* tr1/6_containers/unordered_multiset/swap
	* tr1/6_containers/unordered_multiset/swap/1.cc
	* tr1/6_containers/unordered_multiset/swap/2.cc
	* tr1/6_containers/unordered_set
	* tr1/6_containers/unordered_set/23053.cc
	* tr1/6_containers/unordered_set/23465.cc
	* tr1/6_containers/unordered_set/26127.cc
	* tr1/6_containers/unordered_set/26132.cc
	* tr1/6_containers/unordered_set/capacity
	* tr1/6_containers/unordered_set/capacity/29134-set.cc
	* tr1/6_containers/unordered_set/erase
	* tr1/6_containers/unordered_set/erase/24061-set.cc
	* tr1/6_containers/unordered_set/find
	* tr1/6_containers/unordered_set/find/set1.cc
	* tr1/6_containers/unordered_set/insert
	* tr1/6_containers/unordered_set/insert/24061-set.cc
	* tr1/6_containers/unordered_set/insert/set_range.cc
	* tr1/6_containers/unordered_set/insert/set_single.cc
	* tr1/6_containers/unordered_set/requirements
	* tr1/6_containers/unordered_set/requirements/explicit_instantiation.cc
	* tr1/6_containers/unordered_set/requirements/iterator_neg.cc
	* tr1/6_containers/unordered_set/requirements/iterator_null_neg.cc
	* tr1/6_containers/unordered_set/requirements/
	iterators_default_constructor.cc
	* tr1/6_containers/unordered_set/swap
	* tr1/6_containers/unordered_set/swap/1.cc
	* tr1/6_containers/unordered_set/swap/2.cc
	* tr1/using_namespace_std_tr1.cc

	Deleted:
	* 17_intro/header_cassert.cc
	* 17_intro/header_cerrno.cc
	* 17_intro/header_csetjmp.cc
	* 17_intro/header_cstdarg.cc
	* 17_intro/header_cstddef.cc
	* 17_intro/header_cstdio.cc
	* 17_intro/header_cstdlib.cc
	* 17_intro/header_cstring.cc
	* 17_intro/header_ctime.cc
	* 17_intro/header_cwchar.cc
	* 17_intro/header_cwctype.cc
	* 17_intro/header_fstream.cc
	* 17_intro/header_iomanip.cc
	* 17_intro/header_ios.cc
	* 17_intro/header_iosfwd.cc
	* 17_intro/header_iostream.cc
	* 17_intro/header_istream.cc
	* 17_intro/header_ostream.cc
	* 17_intro/headers.cc
	* 17_intro/headers_c++_c++0x_compat.cc
	* 17_intro/headers_c.cc
	* 17_intro/headers_c++.cc
	* 17_intro/header_sstream.cc
	* 17_intro/header_streambuf.cc
	* 17_intro/no_assert_neg.cc
	* 18_support/numeric_limits/sign.cc
	* 18_support/numeric_limits/specialization.cc
	* 20_util/memory/raw_storage_iterator.cc
	* 21_strings/basic_string/1.cc
	* 21_strings/basic_string/2.cc
	* 22_locale/codecvt/1.cc
	* 22_locale/codecvt/2.cc
	* 22_locale/codecvt_byname/1.cc
	* 22_locale/collate/1.cc
	* 22_locale/collate/2.cc
	* 22_locale/collate_byname/1.cc
	* 22_locale/ctype/1.cc
	* 22_locale/ctype_base/1.cc
	* 22_locale/messages/1.cc
	* 22_locale/messages/2.cc
	* 22_locale/messages_byname/1.cc
	* 22_locale/money_get/1.cc
	* 22_locale/money_get/2.cc
	* 22_locale/money_get/3.cc
	* 22_locale/moneypunct/1.cc
	* 22_locale/moneypunct/2.cc
	* 22_locale/moneypunct/3.cc
	* 22_locale/moneypunct_byname/1.cc
	* 22_locale/money_put/1.cc
	* 22_locale/money_put/2.cc
	* 22_locale/money_put/3.cc
	* 22_locale/num_get/1.cc
	* 22_locale/num_get/2.cc
	* 22_locale/num_get/3.cc
	* 22_locale/numpunct/1.cc
	* 22_locale/numpunct/2.cc
	* 22_locale/numpunct_byname/1.cc
	* 22_locale/num_put/1.cc
	* 22_locale/num_put/2.cc
	* 22_locale/num_put/3.cc
	* 22_locale/time_get/1.cc
	* 22_locale/time_get/2.cc
	* 22_locale/time_put/1.cc
	* 22_locale/time_put/2.cc
	* 23_containers/deque/1.cc
	* 23_containers/deque/explicit_instantiation
	* 23_containers/deque/explicit_instantiation/1.cc
	* 23_containers/deque/explicit_instantiation/2.cc
	* 23_containers/deque/explicit_instantiation/3.cc
	* 23_containers/list/1.cc
	* 23_containers/list/explicit_instantiation
	* 23_containers/list/explicit_instantiation/1.cc
	* 23_containers/list/explicit_instantiation/2.cc
	* 23_containers/list/explicit_instantiation/3.cc
	* 23_containers/map/1.cc
	* 23_containers/map/explicit_instantiation
	* 23_containers/map/explicit_instantiation/1.cc
	* 23_containers/map/explicit_instantiation/2.cc
	* 23_containers/map/explicit_instantiation/3.cc
	* 23_containers/multimap/1.cc
	* 23_containers/multimap/explicit_instantiation
	* 23_containers/multimap/explicit_instantiation/1.cc
	* 23_containers/multimap/explicit_instantiation/2.cc
	* 23_containers/multimap/explicit_instantiation/3.cc
	* 23_containers/multiset/1.cc
	* 23_containers/multiset/explicit_instantiation
	* 23_containers/multiset/explicit_instantiation/1.cc
	* 23_containers/multiset/explicit_instantiation/2.cc
	* 23_containers/multiset/explicit_instantiation/3.cc
	* 23_containers/set/1.cc
	* 23_containers/set/explicit_instantiation
	* 23_containers/set/explicit_instantiation/1.cc
	* 23_containers/set/explicit_instantiation/2.cc
	* 23_containers/set/explicit_instantiation/3.cc
	* 23_containers/vector/1.cc
	* 23_containers/vector/explicit_instantiation
	* 23_containers/vector/explicit_instantiation/1.cc
	* 23_containers/vector/explicit_instantiation/2.cc
	* 23_containers/vector/explicit_instantiation/3.cc
	* 24_iterators/26020.cc
	* 24_iterators/back_insert_iterator.cc
	* 24_iterators/front_insert_iterator.cc
	* 24_iterators/insert_iterator.cc
	* 24_iterators/istreambuf_iterator/1.cc
	* 24_iterators/istream_iterator.cc
	* 24_iterators/iterator.cc
	* 24_iterators/ostreambuf_iterator/1.cc
	* 24_iterators/ostream_iterator.cc
	* 24_iterators/reverse_iterator/1.cc
	* 26_numerics/cmath
	* 26_numerics/cmath/19322.cc
	* 26_numerics/cmath/c99_classification_macros_c.cc
	* 26_numerics/cmath/c99_classification_macros_c++.cc
	* 26_numerics/cmath/c_math.cc
	* 26_numerics/cmath/c_math_dynamic.cc
	* 26_numerics/cmath/fabs_inline.cc
	* 26_numerics/cmath/overloads.cc
	* 26_numerics/cmath/powi.cc
	* 26_numerics/cstdlib
	* 26_numerics/cstdlib/13943.cc
	* 26_numerics/numeric
	* 26_numerics/numeric/sum_diff.cc
	* 26_numerics/valarray
	* 26_numerics/valarray/27867.cc
	* 26_numerics/valarray/28277.cc
	* 26_numerics/valarray/30416.cc
	* 26_numerics/valarray/binary_closure.cc
	* 26_numerics/valarray/dr543.cc
	* 26_numerics/valarray/slice_array_assignment.cc
	* 26_numerics/valarray/slice.cc
	* 26_numerics/valarray/valarray.cc
	* 26_numerics/valarray/valarray_const_bracket.cc
	* 26_numerics/valarray/valarray_name_lookup.cc
	* 26_numerics/valarray/valarray_operators.cc
	* 26_numerics/valarray/valarray_subset_assignment.cc
	* 27_io/basic_filebuf/1.cc
	* 27_io/basic_filebuf/2.cc
	* 27_io/basic_filebuf/3.cc
	* 27_io/basic_filebuf/4.cc
	* 27_io/basic_fstream/1.cc
	* 27_io/basic_fstream/2.cc
	* 27_io/basic_fstream/3.cc
	* 27_io/basic_fstream/4.cc
	* 27_io/basic_ifstream/1.cc
	* 27_io/basic_ifstream/2.cc
	* 27_io/basic_ifstream/3.cc
	* 27_io/basic_ifstream/4.cc
	* 27_io/basic_ios/1.cc
	* 27_io/basic_ios/2.cc
	* 27_io/basic_ios/3.cc
	* 27_io/basic_ios/4.cc
	* 27_io/basic_iostream/1.cc
	* 27_io/basic_iostream/2.cc
	* 27_io/basic_iostream/3.cc
	* 27_io/basic_iostream/4.cc
	* 27_io/basic_istream/1.cc
	* 27_io/basic_istream/2.cc
	* 27_io/basic_istream/3.cc
	* 27_io/basic_istream/4.cc
	* 27_io/basic_istringstream/1.cc
	* 27_io/basic_istringstream/2.cc
	* 27_io/basic_istringstream/3.cc
	* 27_io/basic_istringstream/4.cc
	* 27_io/basic_ofstream/1.cc
	* 27_io/basic_ofstream/2.cc
	* 27_io/basic_ofstream/3.cc
	* 27_io/basic_ofstream/4.cc
	* 27_io/basic_ostream/1.cc
	* 27_io/basic_ostream/2.cc
	* 27_io/basic_ostream/3.cc
	* 27_io/basic_ostream/4.cc
	* 27_io/basic_ostringstream/1.cc
	* 27_io/basic_ostringstream/2.cc
	* 27_io/basic_ostringstream/3.cc
	* 27_io/basic_ostringstream/4.cc
	* 27_io/basic_streambuf/1.cc
	* 27_io/basic_streambuf/2.cc
	* 27_io/basic_streambuf/3.cc
	* 27_io/basic_stringbuf/1.cc
	* 27_io/basic_stringbuf/2.cc
	* 27_io/basic_stringbuf/3.cc
	* 27_io/basic_stringbuf/4.cc
	* 27_io/basic_stringbuf/5.cc
	* 27_io/basic_stringstream/1.cc
	* 27_io/basic_stringstream/2.cc
	* 27_io/basic_stringstream/3.cc
	* 27_io/basic_stringstream/4.cc
	* 27_io/fpos/1.cc
	* ext/debug_allocator/instantiate.cc
	* ext/hash_map/instantiate.cc
	* ext/hash_set/instantiate.cc
	* ext/malloc_allocator/instantiate.cc
	* ext/mt_allocator/instantiate.cc
	* ext/pool_allocator/instantiate.cc
	* ext/slist/instantiate.cc
	* ext/stdio_filebuf/char/1.cc
	* ext/vstring/explicit_instantiation
	* ext/vstring/explicit_instantiation/1.cc
	* ext/vstring/explicit_instantiation/2.cc
	* ext/vstring/explicit_instantiation/char
	* ext/vstring/explicit_instantiation/char/1.cc
	* ext/vstring/explicit_instantiation/wchar_t
	* ext/vstring/explicit_instantiation/wchar_t/1.cc
	* tr1/2_general_utilities/memory/enable_shared_from_this/
	explicit_instantiation
	* tr1/2_general_utilities/memory/enable_shared_from_this/
	explicit_instantiation/1.cc
	* tr1/2_general_utilities/memory/shared_ptr/explicit_instantiation
	* tr1/2_general_utilities/memory/shared_ptr/explicit_instantiation/1.cc
	* tr1/2_general_utilities/memory/weak_ptr/explicit_instantiation
	* tr1/2_general_utilities/memory/weak_ptr/explicit_instantiation/1.cc
	* tr1/5_numerical_facilities/random/discard_block/requirements/
	requirements.cc
	* tr1/6_containers/array/requirements/instantiate.cc
	* tr1/6_containers/unordered
	* tr1/6_containers/unordered/23781.cc
	* tr1/6_containers/unordered/capacity
	* tr1/6_containers/unordered/capacity/29134-map.cc
	* tr1/6_containers/unordered/capacity/29134-multimap.cc
	* tr1/6_containers/unordered/capacity/29134-multiset.cc
	* tr1/6_containers/unordered/capacity/29134-set.cc
	* tr1/6_containers/unordered/erase
	* tr1/6_containers/unordered/erase/24061-map.cc
	* tr1/6_containers/unordered/erase/24061-multimap.cc
	* tr1/6_containers/unordered/erase/24061-multiset.cc
	* tr1/6_containers/unordered/erase/24061-set.cc
	* tr1/6_containers/unordered/find
	* tr1/6_containers/unordered/find/map1.cc
	* tr1/6_containers/unordered/find/multimap1.cc
	* tr1/6_containers/unordered/find/multiset1.cc
	* tr1/6_containers/unordered/find/set1.cc
	* tr1/6_containers/unordered/hash
	* tr1/6_containers/unordered/hash/24799.cc
	* tr1/6_containers/unordered/hashtable
	* tr1/6_containers/unordered/hashtable/23053.cc
	* tr1/6_containers/unordered/hashtable/23465.cc
	* tr1/6_containers/unordered/hashtable/24054.cc
	* tr1/6_containers/unordered/hashtable/24064.cc
	* tr1/6_containers/unordered/hashtable/26127.cc
	* tr1/6_containers/unordered/hashtable/26132.cc
	* tr1/6_containers/unordered/hashtable/iterators_default_constructor.cc
	* tr1/6_containers/unordered/insert
	* tr1/6_containers/unordered/insert/24061-map.cc
	* tr1/6_containers/unordered/insert/24061-multimap.cc
	* tr1/6_containers/unordered/insert/24061-multiset.cc
	* tr1/6_containers/unordered/insert/24061-set.cc
	* tr1/6_containers/unordered/insert/array_syntax.cc
	* tr1/6_containers/unordered/insert/map_range.cc
	* tr1/6_containers/unordered/insert/map_single.cc
	* tr1/6_containers/unordered/insert/multimap_range.cc
	* tr1/6_containers/unordered/insert/multimap_single.cc
	* tr1/6_containers/unordered/insert/multiset_range.cc
	* tr1/6_containers/unordered/insert/multiset_single.cc
	* tr1/6_containers/unordered/insert/set_range.cc
	* tr1/6_containers/unordered/insert/set_single.cc
	* tr1/6_containers/unordered/instantiate
	* tr1/6_containers/unordered/instantiate/hash.cc
	* tr1/6_containers/unordered/instantiate/map.cc
	* tr1/6_containers/unordered/instantiate/multimap.cc
	* tr1/6_containers/unordered/instantiate/multiset.cc
	* tr1/6_containers/unordered/instantiate/set.cc
	* tr1/6_containers/unordered/swap
	* tr1/6_containers/unordered/swap/unordered_map
	* tr1/6_containers/unordered/swap/unordered_map/1.cc
	* tr1/6_containers/unordered/swap/unordered_map/2.cc
	* tr1/6_containers/unordered/swap/unordered_multimap
	* tr1/6_containers/unordered/swap/unordered_multimap/1.cc
	* tr1/6_containers/unordered/swap/unordered_multimap/2.cc
	* tr1/6_containers/unordered/swap/unordered_multiset
	* tr1/6_containers/unordered/swap/unordered_multiset/1.cc
	* tr1/6_containers/unordered/swap/unordered_multiset/2.cc
	* tr1/6_containers/unordered/swap/unordered_set
	* tr1/6_containers/unordered/swap/unordered_set/1.cc
	* tr1/6_containers/unordered/swap/unordered_set/2.cc
	* tr1/6_containers/unordered/types
	* tr1/6_containers/unordered/types/map_iterator.cc
	* tr1/6_containers/unordered/types/multimap_iterator.cc
	* tr1/6_containers/unordered/types/multiset_iterator.cc
	* tr1/6_containers/unordered/types/set_iterator.cc

	* 24_iterators/reverse_iterator/2.cc: To just one
	non-requirements test.
	* ext/headers.cc: Add new includes.
	
2007-02-18  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/bits/stl_algobase.h: Do not include <climits>, use
	std::numeric_limits.
	* include/bits/stl_bvector.h: Use __CHAR_BIT__.
	* config/locale/gnu/codecvt_members.cc: Include <climits>.
	* config/locale/generic/codecvt_members.cc: Likewise.
	* include/std/string: Do not include <algorithm>; do not include
	<memory>, include <bits/allocator.h> instead.
	* include/ext/vstring_fwd.h: Likewise.
	* include/ext/vstring_util.h: Do not include <algorithm>.
	* include/tr1/hashtable_policy.h: Include <algorithm>.
	* testsuite/21_strings/basic_string/replace/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Likewise.
	* testsuite/23_containers/bitset/cons/1.cc: Likewise.
	* testsuite/util/testsuite_character.h: Likewise.

	* config/locale/gnu/codecvt_members.cc: Also include <cstdlib>,
	for MB_CUR_MAX.
	* config/locale/generic/codecvt_members.cc: Likewise.

From-SVN: r122168
2007-02-20 18:15:01 +00:00
Paolo Carlini
f56fe8ff92 PR libstdc++/28080 (partial)
2007-02-18  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/bits/stl_algobase.h: Do not include <climits>, use
	std::numeric_limits.
	* include/bits/stl_bvector.h: Use __CHAR_BIT__.
	* config/locale/gnu/codecvt_members.cc: Include <climits>.
	* config/locale/generic/codecvt_members.cc: Likewise.
	* include/std/string: Do not include <algorithm>; do not include
	<memory>, include <bits/allocator.h> instead.
	* include/ext/vstring_fwd.h: Likewise.
	* include/ext/vstring_util.h: Do not include <algorithm>.
	* include/tr1/hashtable_policy.h: Include <algorithm>.
	* testsuite/21_strings/basic_string/replace/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Likewise.
	* testsuite/23_containers/bitset/cons/1.cc: Likewise.
	* testsuite/util/testsuite_character.h: Likewise.

	* config/locale/gnu/codecvt_members.cc: Also include <cstdlib>,
	for MB_CUR_MAX.
	* config/locale/generic/codecvt_members.cc: Likewise.

From-SVN: r122089
2007-02-18 11:32:44 +00:00
Hans-Peter Nilsson
ed445ba30e 1.cc: Use only 10000 iterations for simulator targets.
* testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Use only
	10000 iterations for simulator targets.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Use only 5
	iterations for simulator targets.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
	* testsuite/23_containers/set/modifiers/16728.cc: Use only 10
	iterations for simulator targets.

From-SVN: r121682
2007-02-07 10:08:04 +00:00
Steve LoBasso
45dc23a66b deque.tcc (deque<>::erase(iterator, iterator)): Fix condition.
2007-01-24   Steve LoBasso <slobasso@yahoo.com>
	     Paolo Carlini  <pcarlini@suse.de>

	* include/bits/deque.tcc (deque<>::erase(iterator, iterator)):
	Fix condition.
	* testsuite/23_containers/deque/modifiers/erase/3.cc: New.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r121147
2007-01-24 23:52:37 +00:00
Paolo Carlini
639b490be5 PR libstdc++/29385 (2nd part, based on an idea by Ion Gaztanaga)
2006-11-26  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29385 (2nd part, based on an idea by Ion Gaztanaga)
	* include/bits/stl_tree.h (_Rb_tree<>::_M_equal_range): Add.
	(equal_range(const key_type&)): Use it.

2006-11-26  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/23_containers/multiset/operations/1.cc: New.
	* testsuite/23_containers/set/operations/1.cc: Likewise.
	* testsuite/23_containers/multimap/operations/1.cc: Likewise.
	* testsuite/23_containers/map/operations/1.cc: Likewise.

From-SVN: r119221
2006-11-26 10:04:25 +00:00
Benjamin Kosnik
58e93a261f 2.cc: Fail on Darwin 8.[0-4].* only.
2006-10-04  Benjamin Kosnik  <bkoz@redhat.com>
	    Mike Stump  <mrs@apple.com>
	
	* testsuite/27_io/ios_base/storage/2.cc: Fail on Darwin 8.[0-4].* only.
	* testsuite/23_containers/vector/resize/1.cc: Same.


Co-Authored-By: Mike Stump <mrs@apple.com>

From-SVN: r117428
2006-10-04 07:57:34 +00:00
Benjamin Kosnik
9f9900dbb6 testsuite_allocator.h (allocation_tracker): To tracker_allocator_counter.
2006-10-03  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_allocator.h (allocation_tracker): To
	tracker_allocator_counter.
	(allocation_tracker::allocationTotal): To get_allocation_count.
	(allocation_tracker::deallocationTotal): To get_deallocation_count.
	(allocation_tracker::constructCount): To get_construct_count.
	(allocation_tracker::destructCount): To get_destruct_count.	
	(allocation_tracker::resetCounts): To reset.
	(tracker_alloc): To tracker_allocator.
	* testsuite/util/performance/mem: Remove.
	* testsuite/util/performance/mem/mem_track_allocator_base.hpp: Remove.
	* testsuite/util/performance/mem/mem_track_allocator.hpp: Remove.
	* testsuite/27_io/basic_stringbuf/4.cc: Adjust for new names
	or includes.
	* testsuite/ext/hash_set/check_construct_destroy.cc: Same.
	* testsuite/ext/slist/check_construct_destroy.cc: Same.
	* testsuite/performance/ext/pb_ds/
	hash_random_int_erase_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_pop_mem_usage.cc: Same.
	* testsuite/23_containers/vector/capacity/2.cc: Same.
	* testsuite/23_containers/vector/cons/4.cc: Same.
	* testsuite/23_containers/vector/check_construct_destroy.cc: Same.
	* testsuite/23_containers/deque/cons/2.cc: Same.
	* testsuite/23_containers/deque/check_construct_destroy.cc: Same.
	* testsuite/23_containers/list/check_construct_destroy.cc: Same.
	* testsuite/23_containers/set/check_construct_destroy.cc: Same.
	* testsuite/util/testsuite_allocator.h
	* testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
	* testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
	* testsuite/util/performance/assoc/mem_usage/erase_test.hpp
	* testsuite/util/testsuite_allocator.cc: Same.

From-SVN: r117408
2006-10-03 17:01:57 +00:00
Paolo Carlini
3b83e64bd3 PR libstdc++/29134 (vector<bool> bits)
2006-09-22  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29134 (vector<bool> bits)
	* include/bits/stl_bvector.h (vector<bool>::max_size):
	Use allocator' max_size.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: New.

	* testsuite/23_containers/deque/capacity/29134-2.cc: Minor tweak.
	* testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.

From-SVN: r117148
2006-09-22 17:51:01 +00:00
Paolo Carlini
1f9c69a9a3 re PR libstdc++/29134 (Has there been a serious attempt to define the max_size() member functions?)
2006-09-20  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29134
	* include/bits/stl_list.h (list<>::max_size): Forward to allocator'
	max_size.
	* include/bits/stl_vector.h (vector<>::max_size): Likewise.
	* include/bits/stl_deque.h (deque<>::max_size): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::max_size): Likewise.
	* include/tr1/hashtable (_Hashtable<>::max_size): Likewise.
	* testsuite/23_containers/vector/capacity/29134.cc: Add.
	* testsuite/23_containers/deque/capacity/29134.cc: Likewise.
	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
	* testsuite/23_containers/set/capacity/29134.cc: Likewise.
	* testsuite/23_containers/map/capacity/29134.cc: Likewise.
	* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
	* testsuite/23_containers/multimap/capacity/29134.cc: Likewise.	
	* testsuite/tr1/6_containers/unordered/capacity/29134-set.cc: Likewise.
	* testsuite/tr1/6_containers/unordered/capacity/29134-map.cc: Likewise.
	* testsuite/tr1/6_containers/unordered/capacity/29134-multiset.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered/capacity/29134-multimap.cc:
	Likewise.

	* include/bits/deque.tcc (deque<>::_M_new_elements_at_front,
	deque<>::_M_new_elements_at_back): Check for length errors.
	* testsuite/23_containers/deque/capacity/29134-2.cc: New.
	* testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.

	* include/tr1/hashtable (_Hashtable<>::_M_get_Value_allocator): Add.
	(_Hashtable<>::_M_allocate_node, _M_deallocate_node): Use it.
	* testsuite/tr1/6_containers/unordered/instantiate/set.cc: Add test.
	* testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
	* testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
	Likewise.

From-SVN: r117099
2006-09-21 00:11:52 +00:00
Benjamin Kosnik
a86151e10b res_mng: Remove.
2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/regression/res_mng: Remove.
	* testsuite/util/regression/res_mng/dbg_ex_allocator_base.cc: Merge..
	* testsuite/util/regression/res_mng/forced_exception.hpp: Merge...
	* testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Merge..
	* testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Merge..
	* testsuite/util/testsuite_allocator.h (throw_allocator): Merge...
	* include/ext/throw_allocator.h (throw_allocator): ... into this.
	* src/throw_allocator.cc: ...and this.
	* include/Makefile.am (ext_headers): Add.
	* include/Makefile.in: Regenerate.	
	* src/Makefile.am (sources): New.
	* src/Makefile.in: Regenerate.
	* testsuite/lib/libstdc++.exp: Subtract dbg_ex_allocator_base.cc.

	* include/ext/pb_ds/detail/map_debug_base.hpp: Adjust
	includes, names, and namespaces.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	erase_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	constructor_destructor_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	insert_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	modify_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	split_join_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	subscript_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/erase_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	constructor_destructor_fn_imps.hpp
	* testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	split_join_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/priority_queue/common_type.hpp: Same.
	* testsuite/util/regression/assoc/common_type.hpp: Same.
	* testsuite/util/regression/basic_type.hpp: Same.
	* testsuite/util/rng/twister_rand_gen.cc: Tweak.

From-SVN: r117050
2006-09-19 02:33:21 +00:00
Paolo Carlini
976e25f422 stl_bvector.h (vector<bool>::_M_copy_aligned): New.
2006-08-09  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h (vector<bool>::_M_copy_aligned): New.
	(vector<bool>::vector(const vector&), operator=(const vector&),
	reserve(size_type), _M_fill_insert(iterator, size_type, bool),
	_M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
	std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Use it.
	* testsuite/performance/23_containers/copy_construct/
	vector_bool.cc: New.

	* testsuite/23_containers/vector/bool/cons/1.cc: New.
	* testsuite/23_containers/vector/bool/cons/2.cc: Likewise.

	* include/bits/stl_bvector.h (vector<bool>::_M_fill): Remove.
	(fill(_Bit_iterator, _Bit_iterator, const bool&)): New.
	(vector<bool>::_M_fill_insert(iterator, size_type, bool)): Adjust.

	* include/bits/stl_bvector.h (_M_initialize_range(_InputIterator,
	_InputIterator, std::input_iterator_tag)): Remove redundant
	assignments.

	* include/bits/stl_algo.h (find(istreambuf_iterator<>,
	istreambuf_iterator<>, _CharT)): Adjust signature.
	* include/bits/streambuf_iterator.h: Likewise.
	* include/std/std_streambuf.h: Likewise.

From-SVN: r116049
2006-08-09 23:39:16 +00:00
Paolo Carlini
15ecde8ebf re PR libstdc++/28587 (vector<bool> is extremely slow (900x slower than it should be))
2006-08-05  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28587
	* include/bits/stl_bvector.h (vector<bool>::_M_fill): New.
	(vector<bool>::_M_fill_insert): Use it.
	* testsuite/performance/23_containers/resize/vector_bool.cc: New.
	
	* testsuite/23_containers/vector/bool/modifiers/insert/1.cc: New.
	* testsuite/23_containers/vector/bool/capacity/1.cc: Likewise.

From-SVN: r115947
2006-08-05 10:11:13 +00:00
Benjamin Kosnik
45f388bb44 c++config: Simplify debug namespaces.
2006-02-21  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Simplify debug namespaces.
	* include/ext/hash_set: Specialize insert_iterator after norm,
	debug containers have been (optionally) declared. Use nested
	namespaces.	
	* include/ext/hash_map: Same.
	* include/debug/hash_map.h (insert): Add specialization for value
	pointer types.
	* include/debug/hash_set.h (insert): Same.
	* include/debug/hash_multimap.h: Change __gnu_debug_def to __debug.
	* include/debug/set.h: Same.
	* include/debug/bitset: Same.
	* include/debug/multiset.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/list: Same.
	* include/debug/multimap.h. Same.
	* include/debug/macros.h: Use __gnu_debug.
	* include/debug/debug.h: Same.
	* include/debug/formatter.h: Same.
	* include/debug/safe_sequence.h: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/safe_iterator.h: Same.
	* include/debug/safe_iterator.tcc: Same.
	(_M_invalidate): Adjust compare order.
	* include/debug/string: Change std::__gnu_debug to __gnu_debug.
	* include/ext/hashtable.h: Formatting fixes.
	* include/bits/stl_map.h: Formatting fixes.		
	* src/compatibility.cc: Adjust compatibility symbols for old debug
	mode model.	
	* src/debug_list.cc: Tweak.
	* src/debug.cc: Adjust namespaces.
	* docs/html/debug_mode.html: Adjust namespace names.
	* testsuite/25_algorithms/heap/heap.cc: Restore _GLIBCXX_DEBUG
	macro guards, as count values differ when in debug mode.	
	* testsuite/23_containers/vector/26412.cc: Move to...
	* testsuite/23_containers/vector/26412-1.cc: ... here.
	* testsuite/23_containers/vector/26412-2.cc: Add.

	* include/ext/pb_assoc/detail/standard_policies.hpp
	(PB_ASSOC_HASH_NAMESPACE): Remove, use __gnu_cxx::hash_map and
	std::equal_to.

	* configure.ac (libtool_VERSION): To 6:8:0.
	* configure: Regenerate.
	* config/abi/pre/gnu.ver: Revert to exporting __gnu_debug symbols.
	(GLIBCXX_3.4.8): New.
	* testsuite/testsuite_abi.cc: Add GLIBCXX_3.4.8 to known versions.

From-SVN: r111356
2006-02-22 00:57:24 +00:00
Benjamin Kosnik
845d2a4b7d re PR libstdc++/26142 (global debug namespace clashes everywhere)
2006-02-08  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/26142
	* include/debug/debug.h: Move debug alias inside namespace std,
	same with namespace __gnu_cxx. Add top-level __gnu_debug
	namespace.	
	* include/debug/hash_multimap.h: Nest within __gnu_cxx, not
	std. Also, change nesting namespace name from __gnu_debug_def to
	__gnu_debug.	
	* include/debug/hash_map.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/hash_set.h: Same.
	* docs/html/debug.html: Same.
	* testsuite/23_containers/vector/26412.cc: New.
	* testsuite/23_containers/vector/invalidation/1.cc:  Correct
	qualifications for debug namespace change.
	* 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/modifiers/insert/16813.cc: Same.
	* testsuite/21_strings/basic_string/2.cc: Same.

From-SVN: r110787
2006-02-09 05:07:09 +00:00
Benjamin Kosnik
7ec4a5ce43 re PR libstdc++/26142 (global debug namespace clashes everywhere)
2006-02-08  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/26142
	* include/debug/debug.h: Move debug alias inside namespace std,
	same with namespace __gnu_cxx. Add top-level __gnu_debug
	namespace.	
	* include/debug/hash_multimap.h: Nest within __gnu_cxx, not
	std. Also, change nesting namespace name from __gnu_debug_def to
	__gnu_debug.	
	* include/debug/hash_map.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/hash_set.h: Same.
	* docs/html/debug.html: Same.
	* testsuite/23_containers/vector/26412.cc: New.
	* testsuite/23_containers/vector/invalidation/1.cc:  Correct
	qualifications for debug namespace change.
	* 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/modifiers/insert/16813.cc: Same.
	* testsuite/21_strings/basic_string/2.cc: Same.

From-SVN: r110786
2006-02-09 04:31:38 +00:00
Paolo Carlini
af8590d281 Implement list::splice (and merge) bits of N1599
2006-01-19  Paolo Carlini  <pcarlini@suse.de>

	Implement list::splice (and merge) bits of N1599
	* include/bits/stl_list.h (list<>::_M_check_equal_allocators): New.
	(list<>::splice(iterator, list&), splice(iterator, list&, iterator),
	splice(iterator, list&, iterator, iterator)): Use it.
	* include/bits/stl_list.h (list<>::merge(list&), merge(list&,
	_StrictWeakOrdering)): Likewise.
	* testsuite/23_containers/list/operators/5.cc: New.

From-SVN: r110011
2006-01-20 02:38:54 +00:00
Paolo Carlini
f7cd797c5b re PR libstdc++/25658 (testsuite failure: 23_containers/deque/cons/assign/1.cc)
2006-01-09  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/25658
	* testsuite/23_containers/deque/cons/assign/1.cc: Divide
	sizes by 10.

From-SVN: r109499
2006-01-09 11:37:17 +00:00
Paolo Carlini
cf1e03717a PR libstdc++/22102 (insert as close to hint as possible)
2006-01-08  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/22102 (insert as close to hint as possible)
	* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_lower,
	_M_insert_equal_lower): New.
	(_M_insert_equal(iterator, const _Val&),
	_M_insert_equal(const_iterator, const _Val&)): Use the above.
	* docs/html/ext/howto.html: Add an entry for DR 233.
	* testsuite/23_containers/multiset/modifiers/insert/22102.cc: New.
	* testsuite/23_containers/multimap/modifiers/insert/22102.cc: New.

	* testsuite/23_containers/set/insert/: Move...
	* testsuite/23_containers/set/modifiers/insert/: ...here.
	* testsuite/23_containers/map/insert/: Move...
	* testsuite/23_containers/map/modifiers/insert/: ...here.
	* testsuite/23_containers/multiset/insert/: Move...
	* testsuite/23_containers/multiset/modifiers/insert/: ...here.

From-SVN: r109473
2006-01-08 17:34:32 +00:00
Paolo Carlini
fd09ac0cf7 stl_bvector.h (vector<bool>::erase(iterator, iterator)): Just use _M_erase_at_end.
2006-01-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h (vector<bool>::erase(iterator,
	iterator)): Just use _M_erase_at_end.

2006-01-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h (class vector<bool>): Move all the
	helpers under protected access mode, consistently with the primary
	vector template.
	(vector<bool>::_M_erase_at_end): Add.
	(erase(iterator, iterator), clear, resize, _M_fill_assign,
	_M_assign_aux): Use it.
	* testsuite/23_containers/vector/bool/modifiers/erase/1.cc: New.

2006-01-06  Paolo Carlini  <pcarlini@suse.de>

	Implement Option 3 of DR 431 for vector<bool>.
	* include/bits/stl_bvector.h (class _Bvector_base): Change to
	a struct, consistently with the primary vector template.
	(class vector<bool>): Adjust to protected inheritance, tidy
	typedefs.
	(_Bvector_base<>::_M_get_Bit_allocator): Add.
	(vector<bool>::vector(const vector&)): Use it.
	(_Bvector_base<>::get_allocator): Tidy.
	(vector<bool>::swap): Use __alloc_swap.
	* testsuite/23_containers/vector/bool/modifiers/swap/1.cc: New.
	* testsuite/23_containers/vector/bool/modifiers/swap/2.cc: New.

From-SVN: r109415
2006-01-06 11:23:02 +00:00
Paolo Carlini
f7ace77f1f sso_string_base.h (__sso_string_base<>::_M_dataplus): Use _CharT_alloc_type as base class.
2006-01-04  Paolo Carlini  <pcarlini@suse.de>

        * include/ext/sso_string_base.h (__sso_string_base<>::_M_dataplus):
        Use _CharT_alloc_type as base class.
        (_M_get_allocator, _M_swap, _M_create, _M_destroy): Adjust.
        * include/ext/vstring.h (get_allocator): Tidy.

2006-01-04  Paolo Carlini  <pcarlini@suse.de>

	Implement Option 3 of DR 431 for all the containers.
	* include/bits/allocator.h (struct __alloc_swap): Add, swaps
	allocators, optimized to nothing in case they are empty.
	* include/bits/stl_deque.h (deque<>::swap): Use it.
	* include/bits/stl_list.h (list<>::swap): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::swap): Likewise.
	* include/bits/stl_vector.h (vector<>::swap): Likewise.
	* include/tr1/hashtable (hashtable<>::swap): Likewise.
	* include/ext/rc_string_base.h (__rc_string_base<>::_M_swap):
	Likewise.
	* include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
	Likewise.
	* include/ext/vstring_util.h (__vstring_utility<>::_Alloc_hider):
	Clean-up (now vstring uses the generic __alloc_swap facility).
	* include/tr1/unordered_map: Adjust includes.
	* include/tr1/unordered_set: Likewise.
	* docs/html/ext/howto.html: Add an entry for DR 431.
	* testsuite/23_containers/deque/modifiers/swap.cc: Move to...
	* testsuite/23_containers/deque/modifiers/swap/1.cc: ... here.		
	* testsuite/23_containers/deque/modifiers/swap/2.cc: New.
	* testsuite/23_containers/deque/modifiers/swap/3.cc: New.
	* testsuite/23_containers/list/modifiers/swap.cc: Move to...
	* testsuite/23_containers/list/modifiers/swap/1.cc: ... here.		
	* testsuite/23_containers/list/modifiers/swap/2.cc: New.
	* testsuite/23_containers/list/modifiers/swap/3.cc: New.
	* testsuite/23_containers/vector/modifiers/swap.cc: Move to...
	* testsuite/23_containers/vector/modifiers/swap/1.cc: ... here.		
	* testsuite/23_containers/vector/modifiers/swap/2.cc: New.
	* testsuite/23_containers/vector/modifiers/swap/3.cc: New.
	* testsuite/23_containers/set/modifiers/swap.cc: Move to...
	* testsuite/23_containers/set/modifiers/swap/1.cc: ... here.		
	* testsuite/23_containers/set/modifiers/swap/2.cc: New.
	* testsuite/23_containers/set/modifiers/swap/3.cc: New.
	* testsuite/23_containers/map/modifiers/swap.cc: Move to...
	* testsuite/23_containers/map/modifiers/swap/1.cc: ... here.		
	* testsuite/23_containers/map/modifiers/swap/2.cc: New.
	* testsuite/23_containers/map/modifiers/swap/3.cc: New.
	* testsuite/23_containers/multiset/modifiers/swap.cc: Move to...
	* testsuite/23_containers/multiset/modifiers/swap/1.cc: ... here.		
	* testsuite/23_containers/multiset/modifiers/swap/2.cc: New.
	* testsuite/23_containers/multiset/modifiers/swap/3.cc: New.
	* testsuite/23_containers/multimap/modifiers/swap.cc: Move to...
	* testsuite/23_containers/multimap/modifiers/swap/1.cc: ... here.		
	* testsuite/23_containers/multimap/modifiers/swap/2.cc: New.
	* testsuite/23_containers/multimap/modifiers/swap/3.cc: New.
	* testsuite/tr1/6_containers/unordered/swap/unordered_set/1.cc: New.	
	* testsuite/tr1/6_containers/unordered/swap/unordered_set/2.cc: New.
	* testsuite/tr1/6_containers/unordered/swap/unordered_map/1.cc: New.	
	* testsuite/tr1/6_containers/unordered/swap/unordered_map/2.cc: New.
	* testsuite/tr1/6_containers/unordered/swap/unordered_multiset/1.cc: New.	
	* testsuite/tr1/6_containers/unordered/swap/unordered_multiset/2.cc: New.
	* testsuite/tr1/6_containers/unordered/swap/unordered_multimap/1.cc: New.	
	* testsuite/tr1/6_containers/unordered/swap/unordered_multimap/2.cc: New.

From-SVN: r109324
2006-01-04 11:34:45 +00:00
Paolo Carlini
31905f3498 stl_list.h (_List_base<>::_M_get_Node_allocator): Add.
2006-01-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_list.h (_List_base<>::_M_get_Node_allocator): Add.
	(_M_get_Tp_allocator, get_allocator): Tidy.
	(list<>::list(const list&), insert(iterator, size_type, const
	value_type&), insert(iterator, _InputIterator, _InputIterator)):
	Use _M_get_Node_allocator.
	* include/bits/stl_tree.h (_Rb_tree<>::_M_get_Node_allocator()): Add.
	(_Rb_tree(const _Rb_tree<>&): Use it.
	* include/bits/stl_deque.h (_Deque_base<>::_M_get_map_allocator,
	get_allocator): Tidy.
	* include/bits/stl_vector.h (_Vector_base<>::get_allocator): Tidy.
	* testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
	
	* testsuite/testsuite_allocator.h (uneq_allocator<>::swap): Fix.

	* testsuite/testsuite_allocator.h (class uneq_allocator): A simple
	non-empty testing allocator which can be endowed of a "personality"
	at construction time.

From-SVN: r109280
2006-01-03 13:19:23 +00:00
Chris Jefferson
8b5bc374b1 mt_allocator.h (__mt_alloc::__mt_alloc): Remove name of unused parameter.
2005-12-26  Chris Jefferson  <chris@bubblescope.net>

	* include/ext/mt_allocator.h (__mt_alloc::__mt_alloc): Remove
	name of unused parameter.
	* include/bits/stream_iterator.h (istream_iterator::istream_iterator):
	Construct _M_value.
	* include/debug/functions.h (__check_valid_range): Add
	__attribute__((unused)).
	* include/tr1/hashtable (hashtable::end): Remove name of unused
	parameter.
	* include/tr1/tuple_iterate.h (tuple::tuple): Likewise.
	(tuple::operator=): Add __attribute__((unused)).
	* include/tr1/functional (Fnv_hash<4>::hash): Add static_cast.
	(Fnv_hash<8>::hash): Likewise.

	* testsuite/25_algorithms/iter_swap/20577.cc (swap): Remove name of
	unused parameter.
	* testsuite/25_algorithms/unique_copy/check_type.cc (S2::S2,X2::X2):
	Likewise.
	* testsuite/22_locale/ctype/narrow/char/19955.cc (do_narrow): Likewise.
	* testsuite/22_locale/ctype/is/char/9858.cc (Derived::do_is, 
	Derived::do_scan_is, Derived::do_scan_not, Derived2::do_is,
	Derived2::do_scan_is, Derived2::do_scan_not): Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc (TP::do_put):
	Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc (TP::do_put):
	Likewise.
	* testsuite/22_locale/time_put/put/char/12439_1.cc (TP::do_put):
	Likewise.
	* testsuite/22_locale/time_put/put/char/12439_3.cc (TP::do_put):
	Likewise.
	* testsuite/testsuite_io.h (fail_num_get::do_get, fail_num_put::do_put):
	Likewise.
	* testsuite/25_algorithms/find/17441.cc (find): Likewise.
	* testsuite/23_containers/vector/cons/clear_allocator.cc
	(clear_alloc::clear_alloc): Likewise.
	* testsuite/23_containers/vector/bool/clear_allocator.cc
	(clear_alloc::clear_alloc): Likewise.
	* testsuite/23_containers/list/cons/clear_allocator.cc
	(clear_alloc::clear_alloc): Likewise.
	* testsuite/23_containers/set/modifiers/16728.cc (test_container):
	Likewise.
	* testsuite/27_io/basic_ios/cons/char/3.cc (char_traits::to_char_type,
	to_int_type): Likewise.
	* testsuite/27_io/basic_filebuf/imbue/12206.cc (codecvt::do_out, do_in,
	do_unshift, do_length): Likewise.
	* testsuite/21_strings/basic_string/capacity/1.cc 
	(operator==(A<T>,A<T>), operator<(A<T>,A<T>),
	char_traits::to_char_type, char_traits::to_int_type): Likewise
	* testsuite/testsuite_character.h (ctype::do_is, ctype::do_scan_is,
	ctype::do_scan_not, do_toupper, do_tolower): Likewise.
	* testsuite/25_algorithms/replace_copy/check_type.cc (Z::operator=):
	Add missing return statement.
	* testsuite/25_algorithms/replace_copy_if/check_type.cc (Z::operator=):
	Likewise.
	* testsuite/testsuite_iterators.h (output_iterator_wrapper::operator=,
	random_access_iterator_wrapper::operator==): Likewise.
	* testsuite/20_util/functional/binders/1.cc (s::f_int_int_const,
	s::f_int_int, s::f_int_void_const, s::f_int_void): Likewise.
	* testsuite/27_io/types/1.cc (test01): Likewise.
	* testsuite/27_io/basic_ostream/write/wchar_t/1.cc (test01): Likewise.
	* testsuite/27_io/basic_ostream/write/char/1.cc (test01): Likewise.
	* testsuite/21_strings/c_strings/wchar_t/24559.cc (main): Likewise.
	* testsuite/27_io/basic_istream/ignore/wchar_t/2.cc (check): Add static
	cast.
	* testsuite/27_io/basic_istream/ignore/char/2.cc (check): Likewise.
	* testsuite/27_io/basic_istream/getline/wchar_t/5.cc (check): Likewise.
	* testsuite/27_io/basic_istream/getline/char/5.cc (check): Likewise.
	* testsuite/testsuite_allocator.h (check_new): Likewise.
	(check_deallocate_null): Add missing return value.
	* testsuite/ext/pool_allocator/allocate_chunk.cc (test01):
	Make variable unsigned.
	* testsuite/23_containers/vector/modifiers/erase/1.cc (N,N1,N2,N3,N4,
	N5,test01): Likewise.
	* testsuite/26_numerics/valarray/valarray_subset_assignment.cc
	(check_array): Likewise.
	(main): Removed unused variable.
	* testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc (test05):
	Removed unused variable.
	* testsuite/27_io/basic_ostream/flush/wchar_t/1.cc (test01): Likewise.
	* testsuite/27_io/basic_ostream/flush/char/1.cc (test01): Likewise.
	* testsuite/27_io/basic_ostream/endl/wchar_t/1.cc (test01): Likewise.
	* testsuite/27_io/basic_ostream/endl/char/1.cc (test01): Likewise.
	* testsuite/27_io/basic_ostream/ends/wchar_t/1.cc (test01): Likewise.
	* testsuite/27_io/basic_ostream/ends/char/1.cc (test01): Likewise.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/
	assign/shared_ptr.cc (test01): Correct return type.	
	* testsuite/27_io/basic_filebuf/close/char/2.cc (test_02):
	Add default value to close_num.

From-SVN: r109062
2005-12-26 10:53:42 +00:00
Paolo Carlini
5f5c25d99d stl_algobase.h (fill(const _Deque_iterator&, const _Deque_iterator&, const _Tp&)): Deal, correctly, only with iterators (leave const_iterators alone).
2005-12-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (fill(const _Deque_iterator&,
	const _Deque_iterator&, const _Tp&)): Deal, correctly, only
	with iterators (leave const_iterators alone).

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

	* include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
	const _Deque_iterator<>&, const _Tp&)): Add.

	* testsuite/23_containers/deque/cons/assign/1.cc: New.

From-SVN: r109038
2005-12-24 10:01:45 +00:00
Paolo Carlini
1b4454bfd5 stl_deque.h (deque<>::resize, [...]): Avoid troubles with ADL, user defined operators and _Deque_iterator.
2005-12-19  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_deque.h (deque<>::resize, _M_fill_assign):
	Avoid troubles with ADL, user defined operators and _Deque_iterator.
	(operator-(const _Deque_iterator<>&, const _Deque_iterator<>&):
	Add overload for left and right iterators of the same type.
	* include/bits/deque.tcc (erase(iterator)): Avoid troubles with ADL,
	user defined operators and _Deque_iterator.
	* testsuite/23_containers/deque/types/1.cc: Add.
	
	* include/bits/deque.tcc (_M_insert_aux(iterator, size_type,
	const value_type&)): Qualify with std:: fill call.

From-SVN: r108827
2005-12-20 00:29:18 +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
Paolo Carlini
d2cc7f9266 stl_vector.h (vector(const vector&)): Use _M_get_Tp_allocator.
2005-12-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_vector.h (vector(const vector&)): Use
	_M_get_Tp_allocator.
	* include/bits/stl_deque.h (deque(const deque&)): Likewise.
	(_M_destroy_data): Adjust.

2005-12-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_deque.h (deque<>::_M_erase_at_end,
	_M_erase_at_begin, _M_destroy_data, _M_destroy_data_dispatch,
	_M_destroy_data_aux): New, optimize erase at begin() / end() and
	consistently use the "segmented iterator" optimization.
	(deque<>::~deque(), resize, clear, _M_assign_aux, _M_fill_assign):
	Use the above.
	* include/bits/deque.tcc (deque<>::operator=, _M_assign_aux): Same.
	(erase(iterator, iterator)): Likewise, clean-up.
	(erase(iterator)): Tweak, don't call copy unnecessarily. 
	(_M_destroy_data_aux): Define.
	* testsuite/23_containers/deque/modifiers/erase/1.cc: New.
	* testsuite/23_containers/deque/modifiers/erase/2.cc: Likewise.

From-SVN: r108727
2005-12-17 23:42:58 +00:00
Paolo Carlini
0cb855b7a6 re PR libstdc++/25288 (std::list insert members should have no effects if an exception is thrown)
2005-12-09  Paolo Carlini  <pcarlini@suse.de>
	    Howard Hinnant  <hhinnant@apple.com>

	PR libstdc++/25288
	* include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
	Remove.
	(_M_initialize_dispatch, _M_fill_initialize): Add.
	(list(size_type, const value_type&, const allocator_type&),
	list(const list&), list(_InputIterator, _InputIterator,
	const allocator_type&): Use the latter.
	(insert(iterator, size_type, const value_type&), insert(iterator,
	_InputIterator, _InputIterator)): Use construction & splice.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: New.
	* testsuite/testsuite_allocator.h (class throw_allocator): Add.

	* include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.

Co-Authored-By: Howard Hinnant <hhinnant@apple.com>

From-SVN: r108313
2005-12-09 18:24:53 +00:00
Paolo Carlini
bc9053abce re PR libstdc++/24617 (vector vs __erase_at_end)
2005-12-08  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_vector.h (vector<>::size, resize, capacity,
	operator[]): Avoid troubles with ADL, user defined operators
	and __normal_iterator.
	(_M_erase_at_end): Fix to take a pointer.
	(clear): Adjust call.
	* include/bits/vector.tcc (vector<>::insert(iterator, const
	value_type&), erase(iterator, iterator), operator=(const
	vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
	_M_fill_insert, _M_range_insert): Likewise.
	(_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
	_M_erase_at_end call.
	* testsuite/23_containers/vector/types/1.cc: New.

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

	PR libstdc++/24617
	* include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
	(vector<>::clear, resize): Use it.
	* include/bits/vector.tcc (vector<>::erase(iterator, iterator),
	_M_fill_assign, _M_assign_aux): Likewise.

	* testsuite/23_containers/vector/modifiers/erase/1.cc: New.

From-SVN: r108227
2005-12-08 11:32:37 +00:00
Paolo Carlini
2bcec7298e re PR libstdc++/23767 (std::vector iterator implementation wrong)
2005-09-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/23767
	* include/bits/stl_iterator.h (__normal_iterator::
	__normal_iterator<>(const __normal_iterator<_Iter, _Container>&)):
	Enable only when _Iter is equal to _Container::pointer.
	* testsuite/21_strings/basic_string/types/23767.cc: New.
	* testsuite/23_containers/vector/types/23767.cc: Likewise.
	* testsuite/ext/vstring/types/23767.cc: Likewise.

From-SVN: r104167
2005-09-12 09:42:34 +00:00
Paolo Carlini
e182017e46 re PR libstdc++/23781 (Implicit conversion from NULL to list<T>::iterator)
2005-09-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/23781
	* include/bits/stl_list.h (_List_iterator<>::
	_List_iterator(_List_node_base*), _List_const_iterator<>::
	_List_const_iterator(const _List_node_base*)): Make explicit.
	(list<>::begin(), list<>::end(), list<>::pop_back()): Adjust
	consistently.
	* include/bits/list.tcc (list<>::insert, list<>::erase): Adjust
	consistently.
	* include/bits/stl_tree.h (_Rb_tree_iterator<>::
	_Rb_tree_iterator(_Link_type), _Rb_tree_const_iterator<>::
	_Rb_tree_const_iterator(_Link_type)): Make explicit.
	(_Rb_tree<>::begin(), _Rb_tree<>::end()): Adjust consistently.
	* include/ext/slist (_Slist_iterator<>::_Slist_iterator(_Node*)):
	Make explicit.
	(slist<>::erase(iterator), slist<>::erase(iterator, iterator)):
	Adjust consistently.
	* include/tr1/hashtable (hashtable_iterator<>::
	hashtable_iterator(hash_node<>**)): Make explicit.
	* testsuite/23_containers/list/23781.cc: New.
	* testsuite/23_containers/map/23781.cc: Likewise.
	* testsuite/23_containers/multimap/23781.cc: Likewise.
	* testsuite/23_containers/multiset/23781.cc: Likewise.
	* testsuite/23_containers/set/23781.cc: Likewise.
	* testsuite/ext/slist/23781.cc: Likewise.
	* testsuite/tr1/6_containers/unordered/23781.cc: Likewise.
	* testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/23_containers/set/operators/1_neg.cc: Likewise.

	* include/tr1/array (array<>::begin(), array<>::end()): Adjust
	stylistically for consistency with the other containers.

From-SVN: r104139
2005-09-11 09:48:41 +00:00
Paolo Carlini
e6494c9434 re PR libstdc++/23632 (std::vector<bool> in combination with debug mode fails to compile code)
2005-08-31  Paolo Carlini  <pcarlini@suse.de>
	    Kaspar Fischer <fischerk@inf.ethz.ch>

	PR libstdc++/23632
	* include/bits/stl_bvector.h (_Bit_iterator::operator[],
	_Bit_const_iterator::operator[]): Const-ify.
	* testsuite/23_containers/vector/bool/23632.cc: New.

Co-Authored-By: Kaspar Fischer <fischerk@inf.ethz.ch>

From-SVN: r103686
2005-08-31 17:01:57 +00:00
Paolo Carlini
8b5f07a224 PR libstdc++/23578 (DR 464 [Ready])
2005-08-29  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/23578 (DR 464 [Ready])
	* include/bits/stl_map.h (class map): Add at(const key_type&)
	member functions.
	* include/bits/stl_vector.h (class vector): Add data() member
	functions.
	* include/debug/map.h (class map): Adjust consistently.
	* include/debug/vector (class vector): Likewise.
	* testsuite/23_containers/map/element_access/1.cc: New.
	* testsuite/23_containers/vector/data_access/1.cc: Likewise.
	* docs/html/ext/howto.html: Add an entry for DR 464.

From-SVN: r103609
2005-08-29 16:11:19 +00:00
Geoffrey Keating
96d06af84b 1.cc: XFAIL on darwin8.
* testsuite/23_containers/vector/resize/1.cc: XFAIL on darwin8.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.

From-SVN: r103377
2005-08-23 01:16:45 +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
Paolo Carlini
2fecaef4af [multiple changes]
2005-06-06  Paolo Carlini  <pcarlini@suse.de>

        Port from libstdcxx_so_7-branch:
	2004-09-24  Paolo Carlini  <pcarlini@suse.de>
		    Jonathan Wakely  <redi@gcc.gnu.org>

	* include/bits/stl_list.h (list::list(size_type, value_type,
	const allocator_type&): Implement according to the letter of the
	standard, i.e., don't use two overloads, not equivalent in case
	of non default constructible T.
	(list::resize(size_type, const value_type&)): Fix the signature:
	according to the standard the second argument is by value; also,
	don't use two overloads.
	* include/bits/list.tcc (list::resize(size_type, const value_type&)):
	Adjust consistently the signature.
	* include/bits/stl_deque.h (deque::deque(size_type, value_type,
	const allocator_type&)): Likewise.
	(deque::resize(size_type, const value_type&)): Likewise.
	* include/bits/stl_vector.h (vector::vector(size_type, value_type,
	const allocator_type&)): Likewise.
	(vector::resize(size_type, const value_type&)): Likewise.
	* testsuite/testsuite_hooks.h: Add NonDefaultConstructible test type.
	* testsuite/23_containers/deque/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/list/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/map/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/multimap/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/multiset/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/set/explicit_instantiation/2.cc: New.
	* testsuite/23_containers/vector/explicit_instantiation/2.cc: New.

	* include/bits/deque.tcc: Minor formatting fix.

From-SVN: r100668
2005-06-06 16:59:55 +00:00
Paolo Carlini
4fd20a8f82 re PR libstdc++/21770 (rebinding allocator::value type vs. container::value_type)
2005-06-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21770
	* include/bits/stl_deque.h: Add concept-check. In class _Deque_base
	rebind _Alloc to  _Tp_alloc_type, change _Deque_impl to inherit from
	the latter and add _M_get_Tp_allocator() which returns it. Use
	everywhere _M_get_Tp_allocator() instead of get_allocator().
	* include/bits/deque.tcc: Likewise, use _M_get_Tp_allocator().
	* include/bits/stl_list.h: Add concept-check. In class _List_base
	rebind _Alloc to _Tp_alloc_type and add _M_get_Tp_allocator(), which
	returns the allocator (of type _Node_alloc_type) converted to
	_Tp_alloc_type. Use everywhere _M_get_Tp_allocator() instead of
	get_allocator().
	* include/bits/list.tcc: Likewise, use _M_get_Tp_allocator().
	* include/bits/stl_vector.h: Add concept-check. In class _Vector_base
	rebind _Alloc to _Tp_alloc_type, change _Vector_impl to inherit from
	the latter and add _M_get_Tp_allocator() which returns it. Use
	everywhere _M_get_Tp_allocator() instead of get_allocator().
	* include/bits/vector.tcc: Likewise, use _M_get_Tp_allocator().
	* include/bits/stl_map.h: Add concept-check. Rebind _Alloc to
	_Pair_alloc_type and use it for _Rb_tree.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Add concept-check. Rebind _Alloc to
	_Key_alloc_type and use it for _Rb_tree.
	* include/bits/stl_set.h: Likewise.
	* include/bits/basic_string.h: Rebind _Alloc to _CharT_alloc_type and
	use it for the allocator typedefs.
	* testsuite/21_strings/basic_string/1.cc: New.
	* testsuite/23_containers/deque/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/deque/explicit_instantiation/1.cc: ... here.
	* testsuite/23_containers/deque/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/list/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/list/explicit_instantiation/1.cc: ... here.
	* testsuite/23_containers/list/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/map/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/map/explicit_instantiation/1.cc: ... here.
	* testsuite/23_containers/map/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/multimap/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/multimap/explicit_instantiation/1.cc: .. here.
	* testsuite/23_containers/multimap/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/multiset/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/multiset/explicit_instantiation/1.cc: .. here.
	* testsuite/23_containers/multiset/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/set/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/set/explicit_instantiation/1.cc: .. here.
	* testsuite/23_containers/set/explicit_instantiation/3.cc: New.
	* testsuite/23_containers/vector/explicit_instantiation.cc: Move to...
	* testsuite/23_containers/vector/explicit_instantiation/1.cc: ... here.
	* testsuite/23_containers/vector/explicit_instantiation/3.cc: New.

From-SVN: r100546
2005-06-03 17:07:48 +00:00
Paolo Carlini
6323b34eeb re PR libstdc++/18604 (Use of unqualified names conflict with names in global namespace)
2005-05-09  Paolo Carlini  <pcarlini@suse.de>
	    Giovanni Bajo  <giovannibajo@gcc.gnu.org>

	PR libstdc++/18604
	* include/bits/deque.tcc: Fully qualify names from namespace std.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/std/std_bitset.h: Likewise.
	* testsuite/23_containers/bitset/18604.cc: New.
	* testsuite/23_containers/deque/18604.cc: Likewise.
	* testsuite/23_containers/list/18604.cc: Likewise.
	* testsuite/23_containers/map/18604.cc: Likewise.
	* testsuite/23_containers/set/18604.cc: Likewise.
	* testsuite/23_containers/vector/18604.cc: Likewise.

Co-Authored-By: Giovanni Bajo <giovannibajo@gcc.gnu.org>

From-SVN: r99499
2005-05-10 01:58:19 +00:00
Dominik Strasser
2c2702f240 re PR libstdc++/21244 (Vector<bool> anonymous enum problem)
2005-04-27  Dominik Strasser  <dominik.strasser@infineon.com>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/21244
	* include/bits/stl_bvector.h: Change the anonymous enum
	at namespace scope to _S_word_bit_enum.
	* testsuite/23_containers/vector/bool/21244.cc: New.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r98844
2005-04-27 15:59:06 +00:00
Paolo Carlini
b0ea9c011d binders.cc: Remove explicit instantiations for non-weak systems.
2005-03-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/20_util/functional/binders.cc: Remove explicit
	instantiations for non-weak systems.
	* testsuite/20_util/memory/allocator/1.cc: Likewise.
	* testsuite/20_util/memory/allocator/10378.cc: Likewise.
	* testsuite/20_util/memory/allocator/10416.cc: Likewise.
	* testsuite/20_util/memory/allocator/8230.cc: Likewise.
	* testsuite/20_util/utility/rel_ops.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
	* testsuite/23_containers/deque/cons/1.cc: Likewise.
	* testsuite/23_containers/deque/cons/2.cc: Likewise.
	* testsuite/23_containers/deque/invalidation/1.cc: Likewise.
	* testsuite/23_containers/deque/invalidation/2.cc: Likewise.
	* testsuite/23_containers/deque/invalidation/3.cc: Likewise.
	* testsuite/23_containers/deque/invalidation/4.cc: Likewise.
	* testsuite/23_containers/deque/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/deque/operators/1.cc: Likewise.
	* testsuite/23_containers/list/capacity/1.cc: Likewise.
	* testsuite/23_containers/list/cons/1.cc: Likewise.
	* testsuite/23_containers/list/cons/2.cc: Likewise.
	* testsuite/23_containers/list/cons/3.cc: Likewise.
	* testsuite/23_containers/list/cons/4.cc: Likewise.
	* testsuite/23_containers/list/cons/5.cc: Likewise.
	* testsuite/23_containers/list/cons/6.cc: Likewise.
	* testsuite/23_containers/list/cons/7.cc: Likewise.
	* testsuite/23_containers/list/cons/8.cc: Likewise.
	* testsuite/23_containers/list/cons/9.cc: Likewise.
	* testsuite/23_containers/list/invalidation/1.cc: Likewise.
	* testsuite/23_containers/list/invalidation/2.cc: Likewise.
	* testsuite/23_containers/list/invalidation/3.cc: Likewise.
	* testsuite/23_containers/list/invalidation/4.cc: Likewise.
	* testsuite/23_containers/list/modifiers/1.cc: Likewise.
	* testsuite/23_containers/list/modifiers/2.cc: Likewise.
	* testsuite/23_containers/list/modifiers/3.cc: Likewise.
	* testsuite/23_containers/list/operators/1.cc: Likewise.
	* testsuite/23_containers/list/operators/2.cc: Likewise.
	* testsuite/23_containers/list/operators/3.cc: Likewise.
	* testsuite/23_containers/list/operators/4.cc: Likewise.
	* testsuite/23_containers/map/insert/1.cc: Likewise.
	* testsuite/23_containers/map/invalidation/1.cc: Likewise.
	* testsuite/23_containers/map/invalidation/2.cc: Likewise.
	* testsuite/23_containers/map/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/map/operators/1.cc: Likewise.
	* testsuite/23_containers/multimap/invalidation/1.cc: Likewise.
	* testsuite/23_containers/multimap/invalidation/2.cc: Likewise.
	* testsuite/23_containers/multimap/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/multiset/insert/1.cc: Likewise.
	* testsuite/23_containers/multiset/insert/2.cc: Likewise.
	* testsuite/23_containers/multiset/invalidation/1.cc: Likewise.
	* testsuite/23_containers/multiset/invalidation/2.cc: Likewise.
	* testsuite/23_containers/multiset/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/priority_queue/members/7161.cc: Likewise.
	* testsuite/23_containers/queue/members/7157.cc: Likewise.
	* testsuite/23_containers/set/insert/1.cc: Likewise.
	* testsuite/23_containers/set/invalidation/1.cc: Likewise.
	* testsuite/23_containers/set/invalidation/2.cc: Likewise.
	* testsuite/23_containers/set/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/stack/members/7158.cc: Likewise.
	* testsuite/23_containers/vector/bool/6886.cc: Likewise.
	* testsuite/23_containers/vector/capacity/1.cc: Likewise.
	* testsuite/23_containers/vector/capacity/8230.cc: Likewise.
	* testsuite/23_containers/vector/cons/1.cc: Likewise.
	* testsuite/23_containers/vector/cons/2.cc: Likewise.
	* testsuite/23_containers/vector/cons/3.cc: Likewise.
	* testsuite/23_containers/vector/cons/6513.cc: Likewise.
	* testsuite/23_containers/vector/element_access/1.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/1.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/2.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/3.cc: Likewise.
	* testsuite/23_containers/vector/invalidation/4.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/1.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/2.cc: Likewise.
	* testsuite/23_containers/vector/modifiers/swap.cc: Likewise.
	* testsuite/23_containers/vector/resize/1.cc: Likewise.
	* testsuite/24_iterators/back_insert_iterator.cc: Likewise.
	* testsuite/24_iterators/front_insert_iterator.cc: Likewise.
	* testsuite/24_iterators/insert_iterator.cc: Likewise.
	* testsuite/24_iterators/iterator.cc: Likewise.
	* testsuite/25_algorithms/copy/1.cc: Likewise.
	* testsuite/25_algorithms/copy/2.cc: Likewise.
	* testsuite/25_algorithms/copy/3.cc: Likewise.
	* testsuite/25_algorithms/copy/4.cc: Likewise.
	* testsuite/25_algorithms/equal.cc: Likewise.
	* testsuite/25_algorithms/fill/1.cc: Likewise.
	* testsuite/25_algorithms/fill/2.cc: Likewise.
	* testsuite/25_algorithms/min_max.cc: Likewise.
	* testsuite/25_algorithms/rotate.cc: Likewise.
	* testsuite/25_algorithms/unique/1.cc: Likewise.
	* testsuite/25_algorithms/unique/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
	* testsuite/ext/concept_checks.cc: Likewise.
	* testsuite/ext/hash_map/1.cc: Likewise.
	* testsuite/ext/hash_set/1.cc: Likewise.
	* testsuite/ext/rope/1.cc: Likewise.
	* testsuite/ext/rope/2.cc: Likewise.
	* testsuite/ext/rope/3.cc: Likewise.
	* testsuite/thread/pthread1.cc: Likewise.
	* testsuite/thread/pthread4.cc: Likewise.
	* testsuite/thread/pthread5.cc: Likewise.
	* testsuite/thread/pthread6.cc: Likewise.
	* testsuite/thread/pthread7-rope.cc: Likewise.

From-SVN: r96551
2005-03-16 11:24:36 +00:00
Paolo Carlini
838731b61e 16728.cc: Remove redundant include <testsuite_performance.h>.
2005-02-16  Paolo Carlini  <pcarlini@suse.de>

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

From-SVN: r95105
2005-02-16 13:14:36 +00:00
Volker Reichelt
a7a4444157 re PR libstdc++/19510 ([3.3 only] Uninitialized pointers in iterators)
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.

From-SVN: r94002
2005-01-21 01:23:28 +00:00
Paolo Carlini
ac317859d4 re PR libstdc++/19433 (set, multiset, map, multimap misuse hint on insert)
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.

From-SVN: r93761
2005-01-17 14:14:26 +00:00
Paolo Carlini
14492f0b1e DR 434.
2004-11-18  Paolo Carlini  <pcarlini@suse.de>

	DR 434. bitset::to_string() hard to use [Ready]
	* include/std/std_bitset.h (to_string): Add three overloads, taking
	fewer template arguments.
	* docs/html/ext/howto.html: Add an entry for DR 434.
	* testsuite/23_containers/bitset/to_string/1.cc: New.

From-SVN: r90854
2004-11-18 09:52:57 +00:00
Benjamin Kosnik
8d511b9097 re PR tree-optimization/16728 (std::set tests for allocator/insert core in make check-performance)
2004-10-31  Benjamin Kosnik  <bkoz@redhat.com>

	PR c++/16728
	* testsuite/23_containers/set/modifiers/16728.cc: New.

From-SVN: r89921
2004-11-01 00:02:42 +00:00
Paolo Carlini
996e539545 vector.tcc (_M_insert_aux, [...]): Check at the outset that we are not trying to exceed max_size...
2004-10-21  Paolo Carlini  <pcarlini@suse.de>
	    Dhruv Matani  <dhruvbird@gmx.net>
	    Nathan Myers  <ncm@cantrip.org>

	* include/bits/vector.tcc (_M_insert_aux, _M_fill_insert,
	_M_range_insert): Check at the outset that we are not trying
	to exceed max_size, then deal properly with __len overflows.
	* testsuite/23_containers/vector/modifiers/insert/1.cc: New.

	* testsuite/testsuite_allocator.h: Remove redundant include.

Co-Authored-By: Dhruv Matani <dhruvbird@gmx.net>
Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r89377
2004-10-21 14:53:02 +00:00
Paolo Carlini
a3186d4e60 [multiple changes]
2004-10-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/17948
	* include/bits/stl_tree.h (erase(iterator, iterator)): Revert
	wrong commit of 2004-10-07.

2004-10-12  Scott Snyder  <snyder@fnal.gov>

	PR libstdc++/17948
	* testsuite/23_containers/set/modifiers/17948.cc: New.

From-SVN: r88956
2004-10-13 00:11:14 +00:00
Zack Weinberg
2cfe82fe43 decl.c (grokfndecl): If ::main is found not to return int, correct it after issuing a diagnostic.
gcc/cp:
	* decl.c (grokfndecl): If ::main is found not to return int,
	correct it after issuing a diagnostic.
	(grokdeclarator): If the incoming type was error_mark_node, do
	not complain about declaring something with no type.
	(start_function): Change check for ::main not returning int to
	an assertion, as grokfndecl now catches this when the user did it.
	* init.c (perform_member_init, sort_mem_initializers)
	(emit_mem_initializers): Make most diagnostics be issued on
	the line of current_function_decl, not whatever the current
	input line is.
	* parser.c (cp_lexer_peek_token_emit_debug_info): Surround
	definition and declaration with #ifdef ENABLE_CHECKING.
	Avoid unnecessary use of fprintf.
	(cp_lexer_print_token, cp_lexer_debug_stream): Adjust stub
	definitions to avoid warnings.
	(cp_lexer_new_main): Add assertion that first token is not a
	padding token.
	(cp_lexer_new_from_token_array): Fold into ...
	(cp_lexer_new_from_tokens): ... here.  Add assertion that
	first token is not a padding token.
	(cp_lexer_set_source_position_from_token): Move nearer to callers.
	Remove unused lexer argument.
	(cp_lexer_peek_token): Just print debugging report (if enabled)
	and return lexer->next_token.
	(cp_lexer_skip_purged_tokens): Delete.
	(cp_lexer_next_token_is, cp_lexer_next_token_is_not): Make
	inline, simplify bodies.
	(cp_lexer_peek_nth_token): Add debugging report a la
	cp_lexer_peek_token.
	(cp_lexer_consume_token): Correct commentary.  Advance over
	purged tokens here.  Set current source position here, from
	token to be returned.  Avoid unnecessary use of fprintf.
	(cp_lexer_purge_token): Advance next_token pointer over this and
	subsequent purged tokens.
	(cp_parser_error): Adjust source position to that of the
	peeked token.
	(cp_parser_push_lexer_for_tokens, cp_parser_pop_lexer): New functions.
	(cp_parser_string_literal): Remove some excessive cleverness.
	(cp_parser_enum_specifier): Call start_enum before consuming
	the opening brace.
	(cp_parser_member_declaration): Make the "extra semicolon"
	diagnostic consistently-worded with the other place this is
	diagnosed.  Explicitly set the diagnostic location to the
	location of the offending semicolon.
	(cp_parser_enclosed_template_argument_list): Use %</%> quoting
	in diagnostics.  Do not use cp_parser_require.  Set location
	of diagnostics about improper use of '>>' to location of
	offending token.
	(cp_parser_late_parsing_for_member):
	Use cp_parser_push_lexer_for_tokens and cp_parser_pop_lexer.
	(cp_parser_late_parsing_default_args): Likewise.  Manually
	move some logic outside the loop.

gcc/testsuite:
	* g++.dg/ext/complit1.C
	* g++.dg/other/error2.C
	* g++.dg/other/nontype-1.C
	* g++.dg/parse/crash11.C
	* g++.dg/parse/crash12.C
	* g++.dg/parse/error15.C
	* g++.dg/parse/error4.C
	* g++.dg/parse/tmpl-outside1.C
	* g++.dg/parse/too-many-tmpl-args1.C
	* g++.dg/template/dependent-expr3.C
	* g++.dg/template/error10.C
	* g++.dg/template/instantiate1.C
	* g++.dg/template/vtable2.C
	* g++.dg/warn/Wshadow-1.C
	* g++.dg/warn/weak1.C
	* g++.old-deja/g++.brendan/crash16.C
	* g++.old-deja/g++.brendan/crash18.C
	* g++.old-deja/g++.brendan/crash48.C
	* g++.old-deja/g++.brendan/crash49.C
	* g++.old-deja/g++.brendan/crash55.C
	* g++.old-deja/g++.brendan/crash56.C
	* g++.old-deja/g++.brendan/crash8.C
	* g++.old-deja/g++.brendan/enum11.C
	* g++.old-deja/g++.brendan/enum8.C
	* g++.old-deja/g++.brendan/enum9.C
	* g++.old-deja/g++.brendan/friend3.C
	* g++.old-deja/g++.brendan/misc14.C
	* g++.old-deja/g++.bugs/900402_02.C
	* g++.old-deja/g++.bugs/900404_03.C
	* g++.old-deja/g++.bugs/900404_04.C
	* g++.old-deja/g++.bugs/900428_03.C
	* g++.old-deja/g++.jason/crash4.C
	* g++.old-deja/g++.jason/overload21.C
	* g++.old-deja/g++.jason/redecl1.C
	* g++.old-deja/g++.jason/report.C
	* g++.old-deja/g++.jason/rfg10.C
	* g++.old-deja/g++.jason/template30.C
	* g++.old-deja/g++.law/arm12.C
	* g++.old-deja/g++.law/ctors5.C
	* g++.old-deja/g++.law/cvt20.C
	* g++.old-deja/g++.law/init10.C
	* g++.old-deja/g++.law/init8.C
	* g++.old-deja/g++.law/visibility17.C
	* g++.old-deja/g++.law/visibility7.C
	* g++.old-deja/g++.mike/net8.C
	* g++.old-deja/g++.mike/p646.C
	* g++.old-deja/g++.mike/p700.C
	* g++.old-deja/g++.mike/p701.C
	* g++.old-deja/g++.mike/p811.C
	* g++.old-deja/g++.ns/template13.C
	* g++.old-deja/g++.other/array3.C
	* g++.old-deja/g++.other/crash25.C
	* g++.old-deja/g++.other/dtor3.C
	* g++.old-deja/g++.other/dtor4.C
	* g++.old-deja/g++.other/main1.C
	* g++.old-deja/g++.other/warn7.C
	* g++.old-deja/g++.pt/crash11.C
	* g++.old-deja/g++.pt/crash36.C
	* g++.old-deja/g++.pt/spec22.C
	* g++.old-deja/g++.pt/spec9.C
	* g++.old-deja/g++.pt/ttp52.C
	* g++.old-deja/g++.robertl/eb103.C
	* g++.old-deja/g++.robertl/eb121.C
	* g++.old-deja/g++.robertl/eb22.C
	* g++.old-deja/g++.robertl/eb8.C:
	Update locations and/or regexps of dg-error markers.
	Remove markers for some bogus messages that are no longer issued.

libstdc++-v3:
	* testsuite/20_util/memory/auto_ptr/assign_neg.cc
	* testsuite/23_containers/map/operators/1_neg.cc
	* testsuite/23_containers/set/operators/1_neg.cc:
	Update locations and/or regexps of dg-error markers.

From-SVN: r87985
2004-09-23 21:27:25 +00:00
Matt Austern
f1197ae160 re PR libstdc++/16844 (Explicit instantiation failing)
PR libstdc++/16844
	* include/bits/stl_list.h (_M_create_node): Remove unused
	zero-argument version.
	* include/ext/slist (_M_create_node): Pass two arguments to
	allocator's construct() member function.
	* testsuite/23_containers/deque/explicit_instantiation.cc: New.
	* testsuite/23_containers/list/explicit_instantiation.cc: New.
	* testsuite/23_containers/vector/explicit_instantiation.cc: New.
	* testsuite/23_containers/map/explicit_instantiation.cc: New.
	* testsuite/23_containers/set/explicit_instantiation.cc: New.
	* testsuite/23_containers/multimap/explicit_instantiation.cc: New.
	* testsuite/23_containers/multiset/explicit_instantiation.cc: New.
	* testsuite/ext/hash_set_explicit_instantiation.cc: New.
	* testsuite/ext/slist_explicit_instantiation.cc: New.

From-SVN: r85428
2004-08-02 04:40:19 +00:00
Paolo Carlini
5875306379 re PR libstdc++/16813 (compiler error in DEBUG version of range insertion std::map::insert)
2004-07-29  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/16813
	* include/debug/map.h (insert(_InputIterator, _InputIterator)):
	Fix typo.
	* testsuite/23_containers/map/insert/16813.cc: New.

From-SVN: r85295
2004-07-29 10:52:49 +00:00
Matt Austern
1985f1cdaa stl_construct.h (_Destroy): New three-argument overload that takes an allocator argument.
* include/bits/stl_construct.h (_Destroy): New three-argument
	overload that takes an allocator argument.  Another inline
	three-argument overload that takes std::allocator and dispatches
	to the two-argument version.
	* include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
	Change return type to void to match uninitialized_fill_n.
	(__uninitialized_copy_a_): New function.  Like uninitialized_copy
	except that it takes an allocator and uses it for construct and
	destroy.  If the allocator is std::allocator, dispatches to
	uninitialized_copy.
	(__uninitialized_fill_a): Likewise.
	(__uninitialized_fill_n_a): Likewise.
	(__uninitialized_copy_copy): Give it an allocator argument.
	(__uninitialized_fill_copy): Likewise.
	(__uninitialized_copy_fill): Likewise.
	* include/bits/deque.tcc: Use new forms defined in stl_construct.h
	and stl_uninitialized.h.  Replace use of single-argument _Construct
	and _Destroy with use of allocator's construct and destroy methods.
	* include/bits/list.tcc: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/ext/hashtable.h: Use rebind so that allocator_type
	has correct type for a container's allocator.  Replace use of
	single-argument _Construct and _Destroy with use of allocator's
	construct and destroy methods.
	* include/ext/memory (__uninitialized_copy_n_a): New function.
	Like uninitialized_copy_n except that it takes an extra parameter,
	an allocator, and uses it for construct and destroy operations.
	* include/ext/rope: Use new forms defined in stl_construct.h,
	stl_uninitialized.h, and ext/memory.  Replace use of single-argument
	_Construct and _Destroy with allocator construct and destroy methods.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/slist.h: Likewise.
	* testsuite/testsuite_allocator.h (check_construct_destroy): New.
	* testsuite/testsuite_allocator.cc (check_construct_destroy): New.
	* testsuite/23_containers/deque/check_construct_destroy.cc: New.
	* testsuite/23_containers/list/check_construct_destroy.cc: New.
	* testsuite/23_containers/set/check_construct_destroy.cc: New.
	* testsuite/23_containers/vector/check_construct_destroy.cc: New.
	* testsuite/ext/hash_check_construct_destroy.cc: New.
	* testsuite/ext/slist_check_construct_destroy.cc: New.

From-SVN: r85265
2004-07-28 16:37:20 +00:00