]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorBenjamin Kosnik <bkoz@redhat.com>
Tue, 20 Feb 2007 18:15:01 +0000 (18:15 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 20 Feb 2007 18:15:01 +0000 (18:15 +0000)
 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

417 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/17_intro/header_cwctype.cc [deleted file]
libstdc++-v3/testsuite/17_intro/headers/all.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/all_assert_neg.cc [moved from libstdc++-v3/testsuite/17_intro/no_assert_neg.cc with 100% similarity]
libstdc++-v3/testsuite/17_intro/headers/all_c++200x_compatibility.cc [moved from libstdc++-v3/testsuite/17_intro/headers_c++_c++0x_compat.cc with 100% similarity]
libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc [moved from libstdc++-v3/testsuite/17_intro/headers.cc with 78% similarity]
libstdc++-v3/testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++1998/c++.tar [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++1998/c++_for_c.tar [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers_c++.cc [deleted file]
libstdc++-v3/testsuite/17_intro/headers_c.cc [deleted file]
libstdc++-v3/testsuite/17_intro/using_namespace_std.cc [moved from libstdc++-v3/testsuite/17_intro/header_ios.cc with 82% similarity]
libstdc++-v3/testsuite/18_support/headers/cfloat/values.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/climits/values.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/csetjmp/functions_std.cc [moved from libstdc++-v3/testsuite/17_intro/header_iomanip.cc with 81% similarity]
libstdc++-v3/testsuite/18_support/headers/csetjmp/macros.cc [moved from libstdc++-v3/testsuite/17_intro/header_fstream.cc with 81% similarity]
libstdc++-v3/testsuite/18_support/headers/csetjmp/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/csignal/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/csignal/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/csignal/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/cstdarg/macros.cc [moved from libstdc++-v3/testsuite/17_intro/header_cstdarg.cc with 79% similarity]
libstdc++-v3/testsuite/18_support/headers/cstdarg/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/cstddef/macros.cc [moved from libstdc++-v3/testsuite/17_intro/header_cstddef.cc with 81% similarity]
libstdc++-v3/testsuite/18_support/headers/cstddef/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/cstdlib/macros.cc [moved from libstdc++-v3/testsuite/17_intro/header_cassert.cc with 77% similarity]
libstdc++-v3/testsuite/18_support/headers/ctime/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/ctime/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/ctime/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/exception/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/exception/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/limits/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/new/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/typeinfo/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/headers/typeinfo/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/numeric_limits/is_signed.cc [moved from libstdc++-v3/testsuite/18_support/numeric_limits/sign.cc with 100% similarity]
libstdc++-v3/testsuite/18_support/numeric_limits/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/18_support/numeric_limits/specialization_default_values.cc [moved from libstdc++-v3/testsuite/18_support/numeric_limits/specialization.cc with 100% similarity]
libstdc++-v3/testsuite/19_diagnostics/headers/cassert/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/19_diagnostics/headers/cerrno/macros.cc [moved from libstdc++-v3/testsuite/17_intro/header_cerrno.cc with 76% similarity]
libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc [moved from libstdc++-v3/testsuite/17_intro/header_iosfwd.cc with 81% similarity]
libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/memory/allocator/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/memory/auto_ptr/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator/requirements/base_classes.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator.cc with 81% similarity]
libstdc++-v3/testsuite/20_util/utility/pair/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/21_strings/basic_string/1.cc with 100% similarity]
libstdc++-v3/testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc [moved from libstdc++-v3/testsuite/21_strings/basic_string/2.cc with 100% similarity]
libstdc++-v3/testsuite/21_strings/headers/cctype/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cstdlib/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cstdlib/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cstring/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cstring/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cstring/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cwchar/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cwchar/macros.cc [moved from libstdc++-v3/testsuite/17_intro/header_csetjmp.cc with 69% similarity]
libstdc++-v3/testsuite/21_strings/headers/cwchar/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cwctype/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cwctype/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/cwctype/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/string/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/string/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/codecvt/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/codecvt/1.cc with 85% similarity]
libstdc++-v3/testsuite/22_locale/codecvt/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/22_locale/codecvt/2.cc with 86% similarity]
libstdc++-v3/testsuite/22_locale/codecvt/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc with 85% similarity]
libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/collate/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/collate/1.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/collate/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/22_locale/collate/2.cc with 87% similarity]
libstdc++-v3/testsuite/22_locale/collate/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/collate_byname/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/collate_byname/1.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/collate_byname/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/collate_byname/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/ctype/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/ctype/1.cc with 91% similarity]
libstdc++-v3/testsuite/22_locale/ctype/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/ctype/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/ctype_base/mask.cc [moved from libstdc++-v3/testsuite/22_locale/ctype_base/1.cc with 100% similarity]
libstdc++-v3/testsuite/22_locale/headers/clocale/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/headers/clocale/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/headers/clocale/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/headers/locale/types_std.cc [moved from libstdc++-v3/testsuite/17_intro/header_cwchar.cc with 73% similarity]
libstdc++-v3/testsuite/22_locale/messages/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/messages/1.cc with 89% similarity]
libstdc++-v3/testsuite/22_locale/messages/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/22_locale/messages/2.cc with 87% similarity]
libstdc++-v3/testsuite/22_locale/messages/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/messages_byname/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/messages_byname/1.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/messages_byname/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/messages_byname/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/money_get/cons/3.cc [moved from libstdc++-v3/testsuite/22_locale/money_get/3.cc with 100% similarity]
libstdc++-v3/testsuite/22_locale/money_get/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/money_get/1.cc with 85% similarity]
libstdc++-v3/testsuite/22_locale/money_get/requirements/explicit_instantiations.cc [moved from libstdc++-v3/testsuite/22_locale/money_get/2.cc with 87% similarity]
libstdc++-v3/testsuite/22_locale/money_get/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/money_put/cons/3.cc [moved from libstdc++-v3/testsuite/22_locale/money_put/3.cc with 100% similarity]
libstdc++-v3/testsuite/22_locale/money_put/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/money_put/1.cc with 85% similarity]
libstdc++-v3/testsuite/22_locale/money_put/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/22_locale/money_put/2.cc with 87% similarity]
libstdc++-v3/testsuite/22_locale/money_put/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/moneypunct/2.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/intl.cc [moved from libstdc++-v3/testsuite/22_locale/moneypunct/3.cc with 83% similarity]
libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/moneypunct/1.cc with 86% similarity]
libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/intl.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/num_get/cons/3.cc [moved from libstdc++-v3/testsuite/22_locale/num_get/3.cc with 100% similarity]
libstdc++-v3/testsuite/22_locale/num_get/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/num_get/1.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/num_get/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/22_locale/num_get/2.cc with 87% similarity]
libstdc++-v3/testsuite/22_locale/num_get/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/num_put/cons/3.cc [moved from libstdc++-v3/testsuite/22_locale/num_put/3.cc with 100% similarity]
libstdc++-v3/testsuite/22_locale/num_put/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/num_put/1.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/num_put/requirements/explicit_instantiations.cc [moved from libstdc++-v3/testsuite/22_locale/num_put/2.cc with 87% similarity]
libstdc++-v3/testsuite/22_locale/num_put/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/numpunct/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/numpunct/1.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/numpunct/requirements/explicit_instantiations.cc [moved from libstdc++-v3/testsuite/22_locale/numpunct/2.cc with 87% similarity]
libstdc++-v3/testsuite/22_locale/numpunct/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/time_get/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/time_get/1.cc with 89% similarity]
libstdc++-v3/testsuite/22_locale/time_get/requirements/explicit_instantiations.cc [moved from libstdc++-v3/testsuite/22_locale/time_get/2.cc with 87% similarity]
libstdc++-v3/testsuite/22_locale/time_get/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/time_put/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/22_locale/time_put/1.cc with 88% similarity]
libstdc++-v3/testsuite/22_locale/time_put/requirements/explicit_instantiations.cc [moved from libstdc++-v3/testsuite/22_locale/time_put/2.cc with 87% similarity]
libstdc++-v3/testsuite/22_locale/time_put/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc [moved from libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/2.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc [moved from libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/3.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/deque/requirements/partial_specialization/1.cc [moved from libstdc++-v3/testsuite/23_containers/deque/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/headers/bitset/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/deque/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/list/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/map/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/queue/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/set/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/stack/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/headers/vector/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc [moved from libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/2.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc [moved from libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/3.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/list/requirements/partial_specialization/1.cc [moved from libstdc++-v3/testsuite/23_containers/list/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/2.cc [moved from libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/2.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc [moved from libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/3.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/map/requirements/partial_specialization/1.cc [moved from libstdc++-v3/testsuite/23_containers/map/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/2.cc [moved from libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/2.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc [moved from libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/3.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/multimap/requirements/partial_specialization/1.cc [moved from libstdc++-v3/testsuite/23_containers/multimap/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/2.cc [moved from libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/2.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc [moved from libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/3.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/multiset/requirements/partial_specialization/1.cc [moved from libstdc++-v3/testsuite/23_containers/multiset/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/2.cc [moved from libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/2.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc [moved from libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/3.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/set/requirements/partial_specialization/1.cc [moved from libstdc++-v3/testsuite/23_containers/set/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc [moved from libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/2.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc [moved from libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/3.cc with 100% similarity]
libstdc++-v3/testsuite/23_containers/vector/requirements/partial_specialization/1.cc [moved from libstdc++-v3/testsuite/23_containers/vector/1.cc with 100% similarity]
libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc with 65% similarity]
libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc with 64% similarity]
libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/headers/iterator/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/insert_iterator.cc [deleted file]
libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/container.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc [moved from libstdc++-v3/testsuite/24_iterators/istream_iterator.cc with 69% similarity]
libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/17_intro/header_cstring.cc with 77% similarity]
libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/17_intro/header_sstream.cc with 79% similarity]
libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/1.cc with 84% similarity]
libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/17_intro/header_cstdio.cc with 73% similarity]
libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc with 81% similarity]
libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/1.cc with 86% similarity]
libstdc++-v3/testsuite/24_iterators/random_access_iterator/26020.cc [moved from libstdc++-v3/testsuite/24_iterators/26020.cc with 100% similarity]
libstdc++-v3/testsuite/24_iterators/random_access_iterator/string_vector_iterators.cc [moved from libstdc++-v3/testsuite/24_iterators/iterator.cc with 100% similarity]
libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/24_iterators/reverse_iterator/1.cc with 79% similarity]
libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/current.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc [moved from libstdc++-v3/testsuite/26_numerics/cmath/19322.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c++.cc [moved from libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc [moved from libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math.cc [moved from libstdc++-v3/testsuite/26_numerics/cmath/c_math.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/headers/cmath/c_math_dynamic.cc [moved from libstdc++-v3/testsuite/26_numerics/cmath/c_math_dynamic.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/headers/cmath/fabs_inline.cc [moved from libstdc++-v3/testsuite/26_numerics/cmath/fabs_inline.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cmath/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cmath/overloads.cc [moved from libstdc++-v3/testsuite/26_numerics/cmath/overloads.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/headers/cmath/powi.cc [moved from libstdc++-v3/testsuite/26_numerics/cmath/powi.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc [moved from libstdc++-v3/testsuite/26_numerics/cstdlib/13943.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc [moved from libstdc++-v3/testsuite/17_intro/header_cstdlib.cc with 90% similarity]
libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/numeric/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/valarray/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/valarray/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/27867.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/27867.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/28277.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/28277.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/30416.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/30416.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/binary_closure.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/binary_closure.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/dr543.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/dr543.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/slice.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/slice.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/slice_array_assignment.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/slice_array_assignment.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/valarray.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/valarray.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/valarray_const_bracket.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/valarray_const_bracket.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/valarray_name_lookup.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/valarray_name_lookup.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/valarray_operators.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/valarray_operators.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_arrays/valarray_subset_assignment.cc [moved from libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc with 100% similarity]
libstdc++-v3/testsuite/26_numerics/numeric_operations/sum_diff.cc [moved from libstdc++-v3/testsuite/26_numerics/numeric/sum_diff.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_filebuf/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_filebuf/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_filebuf/4.cc with 96% similarity]
libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_filebuf/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_filebuf/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_fstream/cons/3.cc [moved from libstdc++-v3/testsuite/27_io/basic_fstream/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_fstream/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_fstream/4.cc with 92% similarity]
libstdc++-v3/testsuite/27_io/basic_fstream/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_fstream/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_fstream/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_fstream/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ifstream/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_ifstream/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_ifstream/4.cc with 96% similarity]
libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_ifstream/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_ifstream/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ios/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_ios/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_ios/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_ios/4.cc with 92% similarity]
libstdc++-v3/testsuite/27_io/basic_ios/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_ios/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ios/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_ios/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_iostream/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_iostream/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_iostream/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_iostream/4.cc with 97% similarity]
libstdc++-v3/testsuite/27_io/basic_iostream/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_iostream/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_iostream/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_iostream/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_istream/cons/3.cc [moved from libstdc++-v3/testsuite/27_io/basic_istream/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_istream/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_istream/4.cc with 96% similarity]
libstdc++-v3/testsuite/27_io/basic_istream/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_istream/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_istream/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_istream/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_istringstream/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_istringstream/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_istringstream/4.cc with 96% similarity]
libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_istringstream/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_istringstream/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ofstream/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_ofstream/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_ofstream/4.cc with 96% similarity]
libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/explicit_instantiations.cc [moved from libstdc++-v3/testsuite/27_io/basic_ofstream/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_ofstream/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ostream/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_ostream/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_ostream/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_ostream/4.cc with 96% similarity]
libstdc++-v3/testsuite/27_io/basic_ostream/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_ostream/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ostream/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_ostream/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_ostringstream/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_ostringstream/4.cc with 96% similarity]
libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_ostringstream/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_ostringstream/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_streambuf/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_streambuf/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_streambuf/2.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_streambuf/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_streambuf/1.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_stringbuf/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_stringbuf/5.cc with 96% similarity]
libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc [moved from libstdc++-v3/testsuite/27_io/basic_stringbuf/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc [moved from libstdc++-v3/testsuite/27_io/basic_stringbuf/4.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_stringbuf/1.cc with 97% similarity]
libstdc++-v3/testsuite/27_io/basic_stringstream/cons/2020.cc [moved from libstdc++-v3/testsuite/27_io/basic_stringstream/3.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/base_classes.cc [moved from libstdc++-v3/testsuite/27_io/basic_stringstream/4.cc with 96% similarity]
libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/basic_stringstream/2.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/27_io/basic_stringstream/1.cc with 99% similarity]
libstdc++-v3/testsuite/27_io/fpos/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/27_io/fpos/1.cc with 100% similarity]
libstdc++-v3/testsuite/27_io/headers/cstdio/functions_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/cstdio/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/fstream/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/fstream/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/iomanip/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/ios/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/ios/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/iostream/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/iostream/types_std.cc [moved from libstdc++-v3/testsuite/17_intro/header_iostream.cc with 76% similarity]
libstdc++-v3/testsuite/27_io/headers/istream/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/istream/types_std.cc [moved from libstdc++-v3/testsuite/17_intro/header_istream.cc with 79% similarity]
libstdc++-v3/testsuite/27_io/headers/ostream/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/ostream/types_std.cc [moved from libstdc++-v3/testsuite/17_intro/header_ostream.cc with 83% similarity]
libstdc++-v3/testsuite/27_io/headers/sstream/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/sstream/types_std.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/headers/streambuf/synopsis.cc [moved from libstdc++-v3/testsuite/17_intro/header_ctime.cc with 74% similarity]
libstdc++-v3/testsuite/27_io/headers/streambuf/types_std.cc [moved from libstdc++-v3/testsuite/17_intro/header_streambuf.cc with 83% similarity]
libstdc++-v3/testsuite/ext/debug_allocator/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/ext/debug_allocator/instantiate.cc with 100% similarity]
libstdc++-v3/testsuite/ext/hash_map/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/ext/hash_map/instantiate.cc with 100% similarity]
libstdc++-v3/testsuite/ext/hash_set/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/ext/hash_set/instantiate.cc with 100% similarity]
libstdc++-v3/testsuite/ext/headers.cc
libstdc++-v3/testsuite/ext/malloc_allocator/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/ext/malloc_allocator/instantiate.cc with 100% similarity]
libstdc++-v3/testsuite/ext/mt_allocator/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/ext/mt_allocator/instantiate.cc with 100% similarity]
libstdc++-v3/testsuite/ext/pool_allocator/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/ext/pool_allocator/instantiate.cc with 100% similarity]
libstdc++-v3/testsuite/ext/slist/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/ext/slist/instantiate.cc with 100% similarity]
libstdc++-v3/testsuite/ext/stdio_filebuf/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/ext/stdio_filebuf/char/1.cc with 100% similarity]
libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/2.cc [moved from libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/2.cc with 100% similarity]
libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/char/1.cc [moved from libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/char/1.cc with 100% similarity]
libstdc++-v3/testsuite/ext/vstring/requirements/explicit_instantiation/wchar_t/1.cc [moved from libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/2_general_utilities/headers/functional/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/types_std_tr1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/2_general_utilities/memory/weak_ptr/requirements/explicit_instantiation/1.cc [moved from libstdc++-v3/testsuite/tr1/2_general_utilities/memory/weak_ptr/explicit_instantiation/1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/types_std_tr1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/using_namespace_std_tr1_placeholders.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/types_std_tr1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/types_std_tr1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/typedefs.cc [moved from libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/discard_block/requirements/requirements.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/array/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/array/requirements/instantiate.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/hash/24799.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/hash/24799.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/base_classes.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/headers/array/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/headers/functional/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/types_std_tr1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/tuple/requirements/explicit_instantiation.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/unordered/23781.cc [deleted file]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/24064.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/24064.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/capacity/29134-map.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/erase/24061-map.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/find/map1.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/find/map1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/24061-map.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/array_syntax.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_range.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_range.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/insert/map_single.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_single.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_neg.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/types/map_iterator.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_null_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/1.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/swap/unordered_map/1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/swap/2.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/swap/unordered_map/2.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/capacity/29134-multimap.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/erase/24061-multimap.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/erase/24061-multimap.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multimap1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/24061-multimap.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/24061-multimap.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_range.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_range.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/insert/multimap_single.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_single.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_neg.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/types/multimap_iterator.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/1.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/swap/unordered_multimap/1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/swap/2.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/swap/unordered_multimap/2.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/24054.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/24054.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/capacity/29134-multiset.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/erase/24061-multiset.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/erase/24061-multiset.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multiset1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/24061-multiset.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/24061-multiset.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_range.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/insert/multiset_single.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_single.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_neg.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/types/multiset_iterator.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/1.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/swap/unordered_multiset/1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/swap/2.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/swap/unordered_multiset/2.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23053.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23053.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/23465.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23465.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26127.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/26127.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/26132.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/26132.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/capacity/29134-set.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/erase/24061-set.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/find/set1.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/find/set1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/24061-set.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_range.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/insert/set_single.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_single.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/explicit_instantiation.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_neg.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/types/set_iterator.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_null_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterators_default_constructor.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/iterators_default_constructor.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/1.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/swap/unordered_set/1.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/swap/2.cc [moved from libstdc++-v3/testsuite/tr1/6_containers/unordered/swap/unordered_set/2.cc with 100% similarity]
libstdc++-v3/testsuite/tr1/using_namespace_std_tr1.cc [new file with mode: 0644]

index eb1a05b3161c773eb0b2b337ca8f3b42e31cc6dc..937d3150cb5bc7cea538c0b971cef8b5777f0dc1 100644 (file)
@@ -1,3 +1,900 @@
+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)
diff --git a/libstdc++-v3/testsuite/17_intro/header_cwctype.cc b/libstdc++-v3/testsuite/17_intro/header_cwctype.cc
deleted file mode 100644 (file)
index 850e58b..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// 2000-01-03 bkoz
-
-// Copyright (C) 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 17.4.1.2 Headers, cwctype
-
-#if _GLIBCXX_USE_WCHAR_T
-#include <cwctype>
-// Make sure wint_t is in namespace std
-std::wint_t i = 5;
-
-// Make sure table 46 is in namespace std.
-using std::wctype_t;
-using std::wctrans_t;
-using std::iswalpha;
-using std::iswupper;
-using std::iswlower;
-using std::iswdigit;
-using std::iswxdigit;
-using std::iswalnum;
-using std::iswspace;
-using std::iswpunct;
-using std::iswprint;
-using std::iswgraph;
-using std::iswcntrl;
-using std::iswctype;
-using std::towctrans;
-using std::towlower;
-using std::towupper;
-using std::wctrans;
-using std::wctype;
-#endif
-
-int main(void)
-{
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/17_intro/headers/all.cc b/libstdc++-v3/testsuite/17_intro/headers/all.cc
new file mode 100644 (file)
index 0000000..c0ef4bf
--- /dev/null
@@ -0,0 +1,145 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Make sure all the includes can be compiled with -Wc++0x-compat
+// libstdc++/30571
+
+// C
+#include <cassert>
+#include <cctype>
+#include <cerrno>
+#include <cfloat>
+#include <ciso646>
+#include <climits>
+#include <clocale>
+#include <cmath>
+#include <csetjmp>
+#include <csignal>
+#include <cstdarg>
+#include <cstddef>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
+
+// C++
+#include <algorithm>
+#include <bitset>
+#include <complex>
+#include <deque>
+#include <exception>
+#include <fstream>
+#include <functional>
+#include <iomanip>
+#include <ios>
+#include <iosfwd>
+#include <iostream>
+#include <istream>
+#include <iterator>
+#include <limits>
+#include <list>
+#include <locale>
+#include <map>
+#include <memory>
+#include <new>
+#include <numeric>
+#include <ostream>
+#include <queue>
+#include <set>
+#include <sstream>
+#include <stack>
+#include <stdexcept>
+#include <streambuf>
+#include <string>
+#include <typeinfo>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+// TR1
+#include <tr1/array>
+#include <tr1/cctype>
+#include <tr1/cfenv>
+#include <tr1/cfloat>
+#include <tr1/cinttypes>
+#include <tr1/climits>
+#include <tr1/cmath>
+#include <tr1/complex>
+#include <tr1/cstdarg>
+#include <tr1/cstdbool>
+#include <tr1/cstdint>
+#include <tr1/cstdio>
+#include <tr1/cstdlib>
+#include <tr1/ctgmath>
+#include <tr1/ctime>
+#include <tr1/cwchar>
+#include <tr1/cwctype>
+#include <tr1/functional>
+#include <tr1/random>
+#include <tr1/tuple>
+#include <tr1/unordered_map>
+#include <tr1/unordered_set>
+#include <tr1/utility>
+
+// Extensions
+#include <ext/algorithm>
+#include <ext/array_allocator.h>
+#include <ext/atomicity.h>
+#include <ext/bitmap_allocator.h>
+#include <ext/codecvt_specializations.h>
+#include <ext/concurrence.h>
+#include <ext/debug_allocator.h>
+#include <ext/enc_filebuf.h>
+#include <ext/functional>
+#include <ext/hash_map>
+#include <ext/hash_set>
+#include <ext/iterator>
+#include <ext/malloc_allocator.h>
+#include <ext/memory>
+#include <ext/mt_allocator.h>
+#include <ext/new_allocator.h>
+#include <ext/numeric>
+#include <ext/pod_char_traits.h>
+#include <ext/pool_allocator.h>
+#include <ext/rb_tree>
+#include <ext/rope>
+#include <ext/slist>
+#include <ext/stdio_filebuf.h>
+#include <ext/stdio_sync_filebuf.h>
+#include <ext/throw_allocator.h>
+#include <ext/typelist.h>
+#include <ext/type_traits.h>
+#include <ext/vstring.h>
+#include <ext/pb_ds/assoc_container.hpp>
+#include <ext/pb_ds/priority_queue.hpp>
+#include <ext/pb_ds/exception.hpp>
+#include <ext/pb_ds/hash_policy.hpp>
+#include <ext/pb_ds/list_update_policy.hpp>
+#include <ext/pb_ds/tree_policy.hpp>
+#include <ext/pb_ds/trie_policy.hpp>
similarity index 78%
rename from libstdc++-v3/testsuite/17_intro/headers.cc
rename to libstdc++-v3/testsuite/17_intro/headers/c++1998/all.cc
index 46975408c32130452b516d18f13cf5d53d9537d4..2704e491f4d52ae6ab7ec4daf55df9adbf390814 100644 (file)
@@ -1,6 +1,7 @@
+// { dg-do compile }
 // 1999-05-12 bkoz
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 
 // 17.4.1.2 Headers
 
+// "C" headers
+#include <cassert>
+#include <cctype>
+#include <cerrno>
+#include <cfloat>
+#include <ciso646>
+#include <climits>
+#include <clocale>
+#include <cmath>
+#include <csetjmp>
+#include <csignal>
+#include <cstdarg>
+#include <cstddef>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
+#include <cwchar>
+#include <cwctype>
+
+// "C" compatibility headers
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <float.h>
+#include <iso646.h>
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <wchar.h>
+#include <wctype.h>
 
 // "C++" headers
 #include <algorithm>
 #include <valarray>
 #include <vector>
 
-// "C" headers
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-
-// "C" headers that might not work if wchar_t support is disabled.
-#include <bits/c++config.h>
-#if _GLIBCXX_USE_WCHAR_T
-  #include <cwchar>
-  #include <cwctype>
-#endif
-
-int main() { return 0; }
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc
new file mode 100644 (file)
index 0000000..a1cb289
--- /dev/null
@@ -0,0 +1,174 @@
+// { dg-do compile }
+// 1999-05-12 bkoz
+
+// Copyright (C) 1999, 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// FreeBSD wants warning clean system headers:
+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* } }
+
+// 17.4.1.2 Headers
+
+// "C" headers
+#include <cassert>
+#include <cctype>
+#include <cerrno>
+#include <cfloat>
+#include <ciso646>
+#include <climits>
+#include <clocale>
+#include <cmath>
+#include <csetjmp>
+#include <csignal>
+#include <cstdarg>
+#include <cstddef>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
+#include <cwchar>
+#include <cwctype>
+
+// "C" compatibility headers
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <float.h>
+#include <iso646.h>
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <wchar.h>
+#include <wctype.h>
+
+// "C++" headers
+#include <algorithm>
+#include <bitset>
+#include <complex>
+#include <deque>
+#include <exception>
+#include <fstream>
+#include <functional>
+#include <iomanip>
+#include <ios>
+#include <iosfwd>
+#include <iostream>
+#include <istream>
+#include <iterator>
+#include <limits>
+#include <list>
+#include <locale>
+#include <map>
+#include <memory>
+#include <new>
+#include <numeric>
+#include <ostream>
+#include <queue>
+#include <set>
+#include <sstream>
+#include <stack>
+#include <stdexcept>
+#include <streambuf>
+#include <string>
+#include <typeinfo>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+
+// "C" headers
+#include <cassert>
+#include <cctype>
+#include <cerrno>
+#include <cfloat>
+#include <ciso646>
+#include <climits>
+#include <clocale>
+#include <cmath>
+#include <csetjmp>
+#include <csignal>
+#include <cstdarg>
+#include <cstddef>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
+#include <cwchar>
+#include <cwctype>
+
+// "C" compatibility headers
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <float.h>
+#include <iso646.h>
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#include <setjmp.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <wchar.h>
+#include <wctype.h>
+
+// "C++" headers
+#include <algorithm>
+#include <bitset>
+#include <complex>
+#include <deque>
+#include <exception>
+#include <fstream>
+#include <functional>
+#include <iomanip>
+#include <ios>
+#include <iosfwd>
+#include <iostream>
+#include <istream>
+#include <iterator>
+#include <limits>
+#include <list>
+#include <locale>
+#include <map>
+#include <memory>
+#include <new>
+#include <numeric>
+#include <ostream>
+#include <queue>
+#include <set>
+#include <sstream>
+#include <stack>
+#include <stdexcept>
+#include <streambuf>
+#include <string>
+#include <typeinfo>
+#include <utility>
+#include <valarray>
+#include <vector>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/c++.tar b/libstdc++-v3/testsuite/17_intro/headers/c++1998/c++.tar
new file mode 100644 (file)
index 0000000..bbe7c5a
Binary files /dev/null and b/libstdc++-v3/testsuite/17_intro/headers/c++1998/c++.tar differ
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/c++_for_c.tar b/libstdc++-v3/testsuite/17_intro/headers/c++1998/c++_for_c.tar
new file mode 100644 (file)
index 0000000..9f25ab9
Binary files /dev/null and b/libstdc++-v3/testsuite/17_intro/headers/c++1998/c++_for_c.tar differ
diff --git a/libstdc++-v3/testsuite/17_intro/headers_c++.cc b/libstdc++-v3/testsuite/17_intro/headers_c++.cc
deleted file mode 100644 (file)
index 03c902a..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-// 2001-01-01 bkoz
-
-// Copyright (C) 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 17.4.1.2 Headers
-
-// This file tests C++ inclusion then C inclusion.
-
-// C++ headers
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-
-// "C" headers
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <float.h>
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-// "C++" headers that might not work if wchar_t support is disabled.
-#include <bits/c++config.h>
-#if _GLIBCXX_USE_WCHAR_T
-  #include <cwchar>
-  #include <cwctype>
-  #include <wchar.h>
-  #include <wctype.h>
-#endif
-
-// libstdc++/2992
-namespace bar
-{
-  int foo(const char *x)
-  { return strlen(x); }
-};
-
-
-int main() { return 0; }
-
-
-
-
-
-
diff --git a/libstdc++-v3/testsuite/17_intro/headers_c.cc b/libstdc++-v3/testsuite/17_intro/headers_c.cc
deleted file mode 100644 (file)
index 369639c..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-// 2000-12-20 bkoz
-
-// Copyright (C) 2000, 2001 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 17.4.1.2 Headers
-
-// This file tests C inclusion then C++ inclusion.
-
-// "C" headers
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <float.h>
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-// C++ headers
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-
-// "C" headers that might not work if wchar_t support is disabled.
-#include <bits/c++config.h>
-#if _GLIBCXX_USE_WCHAR_T
-  #include <wchar.h>
-  #include <wctype.h>
-  #include <cwchar>
-  #include <cwctype>
-#endif
-
-// libstdc++/2992
-namespace bar
-{
-  int foo(const char *x)
-  { return strlen(x); }
-};
-
-
-int main() { return 0; }
similarity index 82%
rename from libstdc++-v3/testsuite/17_intro/header_ios.cc
rename to libstdc++-v3/testsuite/17_intro/using_namespace_std.cc
index d04e14a4384f58a3c42d24d082f55d7d1f171fd7..26a2c6544e7a0927a52eeff91ecfb7366b63cfb3 100644 (file)
@@ -1,6 +1,6 @@
-// 1999-07-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, ios
+#include <new>
 
-#include <ios>
-#include <testsuite_hooks.h>
-
-
-int main(void)
+namespace gnu
 {
-  return 0;
+  using namespace std;
 }
diff --git a/libstdc++-v3/testsuite/18_support/headers/cfloat/values.cc b/libstdc++-v3/testsuite/18_support/headers/cfloat/values.cc
new file mode 100644 (file)
index 0000000..7a06a68
--- /dev/null
@@ -0,0 +1,54 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cfloat>
+
+namespace gnu
+{
+  double d1 = DBL_DIG;
+  double d2 = DBL_EPSILON;
+  double d3 = DBL_MANT_DIG;
+  double d4 = DBL_MAX;
+  double d5 = DBL_MAX_10_EXP;
+  double d6 = DBL_MAX_EXP;
+  double d7 = DBL_MIN;
+  double d8 = DBL_MIN_10_EXP;
+  double d9 = DBL_MIN_EXP;
+
+  float f1 = FLT_DIG;
+  float f2 = FLT_EPSILON;
+  float f3 = FLT_MANT_DIG;
+  float f4 = FLT_MAX;
+  float f5 = FLT_MAX_10_EXP;
+  float f6 = FLT_MAX_EXP;
+  float f7 = FLT_MIN;
+  float f8 = FLT_MIN_10_EXP;
+  float f9 = FLT_MIN_EXP;
+
+  long double ld1 = LDBL_DIG;
+  long double ld2 = LDBL_EPSILON;
+  long double ld3 = LDBL_MANT_DIG;
+  long double ld4 = LDBL_MAX;
+  long double ld5 = LDBL_MAX_10_EXP;
+  long double ld6 = LDBL_MAX_EXP;
+  long double ld7 = LDBL_MIN;
+  long double ld8 = LDBL_MIN_10_EXP;
+  long double ld9 = LDBL_MIN_EXP;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/climits/values.cc b/libstdc++-v3/testsuite/18_support/headers/climits/values.cc
new file mode 100644 (file)
index 0000000..2d15600
--- /dev/null
@@ -0,0 +1,53 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <climits>
+
+namespace gnu
+{
+  // char
+  char c1 = CHAR_BIT;
+  char c2 = CHAR_MAX;
+  char c3 = CHAR_MIN;
+
+  // int
+  int i2 = INT_MAX;
+  int i3 = INT_MIN;
+
+  // short
+  short s2 = SHRT_MAX;
+  short s3 = SHRT_MIN;
+
+  // long
+  long l2 = LONG_MAX;
+  long l3 = LONG_MIN;
+
+  unsigned long mb = MB_LEN_MAX;
+
+  // signed char
+  signed char sc1 = SCHAR_MIN;
+  signed char sc2 = SCHAR_MAX;
+
+  // unsigned
+  unsigned int ui = UINT_MAX;
+  unsigned short us = USHRT_MAX;
+  unsigned long ul = ULONG_MAX;
+
+}
similarity index 81%
rename from libstdc++-v3/testsuite/17_intro/header_iomanip.cc
rename to libstdc++-v3/testsuite/18_support/headers/csetjmp/functions_std.cc
index 6d46224140603975e7b44d7d4a4441c685db1df8..d0a24948d742aa4b7e1291b6a69c2d7a74e0f561 100644 (file)
@@ -1,6 +1,6 @@
-// 1999-07-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, iomanip
+#include <csetjmp>
 
-#include <iomanip>
-#include <testsuite_hooks.h>
-
-
-int main(void)
+namespace gnu
 {
-  return 0;
+  using std::longjmp;
 }
similarity index 81%
rename from libstdc++-v3/testsuite/17_intro/header_fstream.cc
rename to libstdc++-v3/testsuite/18_support/headers/csetjmp/macros.cc
index c190d5018730a14ed17786ab8173297191aaee93..01a90130ced3eb4ecc085b7e3762a0b27d131f6d 100644 (file)
@@ -1,6 +1,6 @@
-// 1999-07-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, fstream
+#include <csetjmp>
 
-#include <fstream>
-#include <testsuite_hooks.h>
-
-
-int main(void)
+namespace gnu
 {
-  return 0;
+#ifndef setjmp
+    #error "setjmp_must_be_a_macro"
+#endif
 }
diff --git a/libstdc++-v3/testsuite/18_support/headers/csetjmp/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/csetjmp/types_std.cc
new file mode 100644 (file)
index 0000000..ecf7f66
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <csetjmp>
+
+namespace gnu
+{
+  std::jmp_buf j;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/csignal/functions_std.cc b/libstdc++-v3/testsuite/18_support/headers/csignal/functions_std.cc
new file mode 100644 (file)
index 0000000..6823376
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <csignal>
+
+namespace gnu
+{
+  using std::raise;
+  using std::signal;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/csignal/macros.cc b/libstdc++-v3/testsuite/18_support/headers/csignal/macros.cc
new file mode 100644 (file)
index 0000000..8842611
--- /dev/null
@@ -0,0 +1,56 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <csignal>
+
+namespace gnu
+{
+#ifndef SIGABRT
+    #error "SIGABRT_must_be_a_macro"
+#endif
+
+#ifndef SIGILL
+    #error "SIGILL_must_be_a_macro"
+#endif
+
+#ifndef SIGSEGV
+    #error "SIGSEGV_must_be_a_macro"
+#endif
+
+#ifndef SIG_DFL
+    #error "SIG_DFL_must_be_a_macro"
+#endif
+
+#ifndef SIGFPE
+    #error "SIGFPE_must_be_a_macro"
+#endif
+
+#ifndef SIGINT
+    #error "SIGINT_must_be_a_macro"
+#endif
+
+#ifndef SIGTERM
+    #error "SIGTERM_must_be_a_macro"
+#endif
+
+#ifndef SIG_ERR
+    #error "SIG_ERR_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/csignal/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/csignal/types_std.cc
new file mode 100644 (file)
index 0000000..7562727
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <csignal>
+
+namespace gnu
+{
+  std::sig_atomic_t s;
+}
similarity index 79%
rename from libstdc++-v3/testsuite/17_intro/header_cstdarg.cc
rename to libstdc++-v3/testsuite/18_support/headers/cstdarg/macros.cc
index e23edbba011f9564c73143c571302c6dbdd7dbce..add2f90191adb2747942adb4694b916145a64282 100644 (file)
@@ -1,6 +1,6 @@
-// 2001-02-06  Benjamin Kosnik  <bkoz@redhat.com>
+// { dg-do compile }
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, cstdarg
-
 #include <cstdarg>
 
 namespace gnu
 {
-  void test01()
-  { 
-    std::va_list __attribute__((unused)) list;
 #ifndef va_arg
     #error "va_arg_must_be_a_macro"
 #endif
-#ifndef va_end
-    #error "va_end_must_be_a_macro"
-#endif
+
 #ifndef va_start
     #error "va_start_must_be_a_macro"
 #endif
-  }
-}
-  
-int main()
-{
-  gnu::test01();
-  return 0;
+
+#ifndef va_end
+    #error "va_end_must_be_a_macro"
+#endif
 }
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdarg/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/cstdarg/types_std.cc
new file mode 100644 (file)
index 0000000..5215152
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdarg>
+
+namespace gnu
+{
+  std::va_list v;
+}
similarity index 81%
rename from libstdc++-v3/testsuite/17_intro/header_cstddef.cc
rename to libstdc++-v3/testsuite/18_support/headers/cstddef/macros.cc
index ec195bb9ca132037c861c0ee351bfd202c2997e7..4751d161e8e9949f9c8e7ea9eacb110829f334fb 100644 (file)
@@ -1,6 +1,7 @@
+// { dg-do compile }
 // 2001-02-06  Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -18,8 +19,6 @@
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, cstddef
-
 #include <cstddef>
 
 namespace gnu
@@ -30,6 +29,7 @@ namespace gnu
     int j;
   };
 
+  // offsetof
   void test01()
   { 
     std::size_t i __attribute__((unused)) = offsetof(struct test_type, i);
@@ -37,10 +37,15 @@ namespace gnu
     #error "offsetof_must_be_a_macro"
 #endif
   }
-}
-  
-int main()
-{
-  gnu::test01();
-  return 0;
+
+  // NULL
+  void test02()
+  {
+    // Must not be (void*)0
+    const int j = NULL;
+
+#ifndef NULL
+    #error "NULL_must_be_a_macro"
+#endif
+  }
 }
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstddef/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/cstddef/types_std.cc
new file mode 100644 (file)
index 0000000..a00dd16
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstddef>
+
+namespace gnu
+{
+  std::size_t s;
+  std::ptrdiff_t p;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/18_support/headers/cstdlib/functions_std.cc
new file mode 100644 (file)
index 0000000..9956158
--- /dev/null
@@ -0,0 +1,31 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdlib>
+
+namespace gnu
+{
+  using std::abort;
+  using std::atexit;
+  using std::exit;
+
+  using std::getenv;
+  using std::system;
+}
similarity index 77%
rename from libstdc++-v3/testsuite/17_intro/header_cassert.cc
rename to libstdc++-v3/testsuite/18_support/headers/cstdlib/macros.cc
index 50f5db47ed9577313d6200640a7c25672b597e76..419ee7451e4cda0628b4bc01b1e6804069890fb9 100644 (file)
@@ -1,6 +1,7 @@
+// { dg-do compile }
 // 2001-02-06  Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, cassert
-
-#include <cassert>
+#include <cstddef>
 
 namespace gnu
 {
-  void test01()
-  { 
-    assert (true);
-#ifndef assert
-    #error "assert_must_be_a_macro"
+#ifndef EXIT_FAILURE
+    #error "EXIT_FAILURE_must_be_a_macro"
+#endif
+
+#ifndef EXIT_SUCCESS
+    #error "EXIT_SUCCESS_must_be_a_macro"
 #endif
-  }
-}
-  
-int main()
-{
-  gnu::test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/18_support/headers/ctime/functions_std.cc b/libstdc++-v3/testsuite/18_support/headers/ctime/functions_std.cc
new file mode 100644 (file)
index 0000000..5a7e56d
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <ctime>
+
+namespace gnu
+{
+  using std::clock;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/ctime/macros.cc b/libstdc++-v3/testsuite/18_support/headers/ctime/macros.cc
new file mode 100644 (file)
index 0000000..de92381
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <ctime>
+
+namespace gnu
+{
+#ifndef CLOCKS_PER_SEC
+    #error "CLOCKS_PER_SEC_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/ctime/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/ctime/types_std.cc
new file mode 100644 (file)
index 0000000..c0168af
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <ctime>
+
+namespace gnu
+{
+  std::clock_t c;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/exception/synopsis.cc b/libstdc++-v3/testsuite/18_support/headers/exception/synopsis.cc
new file mode 100644 (file)
index 0000000..24585ee
--- /dev/null
@@ -0,0 +1,36 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <exception>
+
+namespace std {
+  class exception;
+  class bad_exception;
+
+  typedef void (*unexpected_handler)();
+  unexpected_handler set_unexpected(unexpected_handler  f ) throw();
+  void unexpected();
+
+  typedef void (*terminate_handler)();
+  terminate_handler set_terminate(terminate_handler  f ) throw();
+  void terminate();
+
+  bool uncaught_exception() throw();
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/exception/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/exception/types_std.cc
new file mode 100644 (file)
index 0000000..467f68a
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <exception>
+
+namespace gnu
+{
+  typedef std::exception t1;
+  typedef std::bad_exception t2;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/limits/synopsis.cc b/libstdc++-v3/testsuite/18_support/headers/limits/synopsis.cc
new file mode 100644 (file)
index 0000000..a0db1d9
--- /dev/null
@@ -0,0 +1,48 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <limits>
+
+namespace std {
+  template<class T> class numeric_limits;
+
+#if 0
+  enum float_round_style;
+  enum float_denorm_style;
+#endif
+
+  template<> class numeric_limits<bool>;
+
+  template<> class numeric_limits<char>;
+  template<> class numeric_limits<signed char>;
+  template<> class numeric_limits<unsigned char>;
+  template<> class numeric_limits<wchar_t>;
+
+  template<> class numeric_limits<short>;
+  template<> class numeric_limits<int>;
+  template<> class numeric_limits<long>;
+  template<> class numeric_limits<unsigned short>;
+  template<> class numeric_limits<unsigned int>;
+  template<> class numeric_limits<unsigned long>;
+
+  template<> class numeric_limits<float>;
+  template<> class numeric_limits<double>;
+  template<> class numeric_limits<long double>;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc b/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc
new file mode 100644 (file)
index 0000000..6d05bb4
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <new>
+
+namespace std {
+  class bad_alloc;
+  struct nothrow_t;
+  extern const nothrow_t nothrow;
+  typedef void (*new_handler)();
+  new_handler set_new_handler(new_handler new_p) throw();
+}
+
+void* operator new(std::size_t size) throw(std::bad_alloc);
+void* operator new(std::size_t size, const std::nothrow_t&) throw();
+void  operator delete(void* ptr) throw();
+void  operator delete(void* ptr, const std::nothrow_t&) throw();
+void* operator new[](std::size_t size) throw(std::bad_alloc);
+void* operator new[](std::size_t size, const std::nothrow_t&) throw();
+void  operator delete[](void* ptr) throw();
+void  operator delete[](void* ptr, const std::nothrow_t&) throw();
+
+void* operator new  (std::size_t size, void* ptr) throw();
+void* operator new[](std::size_t size, void* ptr) throw();
+void  operator delete  (void* ptr, void*) throw();
+void  operator delete[](void* ptr, void*) throw();
diff --git a/libstdc++-v3/testsuite/18_support/headers/new/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/new/types_std.cc
new file mode 100644 (file)
index 0000000..a0d2c4e
--- /dev/null
@@ -0,0 +1,29 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <new>
+
+namespace gnu
+{
+  typedef std::bad_alloc t1;
+  typedef std::nothrow_t t2;
+
+  typedef std::new_handler t3;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/typeinfo/synopsis.cc b/libstdc++-v3/testsuite/18_support/headers/typeinfo/synopsis.cc
new file mode 100644 (file)
index 0000000..7e87055
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <typeinfo>
+
+namespace std {
+  class type_info;
+  class bad_cast;
+  class bad_typeid;
+}
diff --git a/libstdc++-v3/testsuite/18_support/headers/typeinfo/types_std.cc b/libstdc++-v3/testsuite/18_support/headers/typeinfo/types_std.cc
new file mode 100644 (file)
index 0000000..8db903e
--- /dev/null
@@ -0,0 +1,29 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <typeinfo>
+
+namespace gnu
+{
+  typedef std::type_info t1;
+  typedef std::bad_cast t2;
+
+  typedef std::bad_typeid t3;
+}
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..77856e9
--- /dev/null
@@ -0,0 +1,50 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <limits>
+
+template<typename T>
+  struct A 
+  {
+    int key;
+  public:
+    A(int i = 0): key(i) { }
+    bool
+    operator==(int i) { return i == key; }
+  };
+
+struct B 
+{
+  B(int = 0) { }
+};
+
+// XXX Should this work for POD types?
+template class std::numeric_limits<A<B> >;
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/cassert/macros.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/cassert/macros.cc
new file mode 100644 (file)
index 0000000..822414c
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cassert>
+
+namespace gnu
+{
+#ifndef assert
+    #error "assert_must_be_a_macro"
+#endif
+}
similarity index 76%
rename from libstdc++-v3/testsuite/17_intro/header_cerrno.cc
rename to libstdc++-v3/testsuite/19_diagnostics/headers/cerrno/macros.cc
index d8d28ce07851d91cce7af39a4573b4ac085ccde6..468d4a18c329dbb0c27ce8437b57adef9eb76146 100644 (file)
@@ -1,6 +1,6 @@
-// 2001-02-06  Benjamin Kosnik  <bkoz@redhat.com>
+// { dg-do compile }
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, cerrno
-
-#include <cerrno>
+#include <cassert>
 
 namespace gnu
 {
-  int test01()
-  { 
-    int i = errno;
+#ifndef EDOM
+    #error "EDOM_must_be_a_macro"
+#endif
+
+#ifndef ERANGE
+    #error "ERANGE_must_be_a_macro"
+#endif
+
 #ifndef errno
     #error "errno_must_be_a_macro"
 #endif
-    return i;
-  }
-}
-  
-int main()
-{
-  gnu::test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/synopsis.cc
new file mode 100644 (file)
index 0000000..6be26e0
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <stdexcept>
+
+namespace std {
+  class logic_error;
+  class domain_error;
+  class invalid_argument;
+  class length_error;
+  class out_of_range;
+  class runtime_error;
+  class range_error;
+  class overflow_error;
+  class underflow_error;
+}
+
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/stdexcept/types_std.cc
new file mode 100644 (file)
index 0000000..160c691
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <stdexcept>
+
+namespace gnu
+{
+  typedef std::logic_error t1;
+  typedef std::domain_error t2;
+  typedef std::invalid_argument t3;
+  typedef std::length_error t4;
+  typedef std::out_of_range t5;
+  typedef std::runtime_error t6;
+  typedef std::range_error t7;
+  typedef std::overflow_error t8;
+  typedef std::underflow_error t9;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstdlib/functions_std.cc
new file mode 100644 (file)
index 0000000..7ac51ed
--- /dev/null
@@ -0,0 +1,29 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdlib>
+
+namespace gnu
+{
+  using std::calloc;
+  using std::malloc;
+  using std::free;
+  using std::realloc;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstring/functions_std.cc
new file mode 100644 (file)
index 0000000..f521d72
--- /dev/null
@@ -0,0 +1,30 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstring>
+
+namespace gnu
+{
+  using std::memchr;
+  using std::memcmp;
+  using std::memcpy;
+  using std::memmove;
+  using std::memset;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc b/libstdc++-v3/testsuite/20_util/headers/cstring/macros.cc
new file mode 100644 (file)
index 0000000..c714d16
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstring>
+
+namespace gnu
+{
+#ifndef NULL
+    #error "NULL_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc b/libstdc++-v3/testsuite/20_util/headers/cstring/types_std.cc
new file mode 100644 (file)
index 0000000..f554d5a
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstring>
+
+namespace gnu
+{
+  std::size_t s;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc b/libstdc++-v3/testsuite/20_util/headers/ctime/functions_std.cc
new file mode 100644 (file)
index 0000000..ce381b2
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <ctime>
+
+namespace gnu
+{
+  using std::asctime;
+  using std::clock;
+  using std::difftime;
+  using std::localtime;
+  using std::strftime;
+  using std::ctime;
+  using std::gmtime;
+  using std::mktime;
+  using std::time;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc b/libstdc++-v3/testsuite/20_util/headers/ctime/macros.cc
new file mode 100644 (file)
index 0000000..7c7e134
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <ctime>
+
+namespace gnu
+{
+#ifndef NULL
+    #error "NULL_must_be_a_macro"
+#endif
+}
similarity index 81%
rename from libstdc++-v3/testsuite/17_intro/header_iosfwd.cc
rename to libstdc++-v3/testsuite/20_util/headers/ctime/types_std.cc
index ccfd14ad7feeb696e84e4e0d3d102f92bb609f2a..ef0cab628401161479401d026537e666925bc330 100644 (file)
@@ -1,6 +1,6 @@
-// 1999-07-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, iosfwd
+#include <ctime>
 
-#include <iosfwd> 
-#include <testsuite_hooks.h>
-
-
-int main(void)
+namespace gnu
 {
-  return 0;
+  std::size_t s;
+  std::clock_t c;
+  std::time_t t;
+
+  std::tm t2;
 }
diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
new file mode 100644 (file)
index 0000000..d4853b2
--- /dev/null
@@ -0,0 +1,101 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <functional>
+
+namespace std {
+  //  lib.base, base:
+  template <class Arg, class Result> struct unary_function;
+  template <class Arg1, class Arg2, class Result> struct binary_function;
+
+  //  lib.arithmetic.operations, arithmetic operations:
+  template <class T> struct plus;
+  template <class T> struct minus;
+  template <class T> struct multiplies;
+  template <class T> struct divides;
+  template <class T> struct modulus;
+  template <class T> struct negate;
+
+  //  lib.comparisons, comparisons:
+  template <class T> struct equal_to;
+  template <class T> struct not_equal_to;
+  template <class T> struct greater;
+  template <class T> struct less;
+  template <class T> struct greater_equal;
+  template <class T> struct less_equal;
+
+  //  lib.logical.operations, logical operations:
+  template <class T> struct logical_and;
+  template <class T> struct logical_or;
+  template <class T> struct logical_not;
+
+  //  lib.negators, negators:
+  template <class Predicate> struct unary_negate;
+  template <class Predicate>
+  unary_negate<Predicate>  not1(const Predicate&);
+  template <class Predicate> struct binary_negate;
+  template <class Predicate>
+  binary_negate<Predicate> not2(const Predicate&);
+
+  //  lib.binders, binders:
+  template <class Operation>  class binder1st;
+  template <class Operation, class T>
+  binder1st<Operation> bind1st(const Operation&, const T&);
+  template <class Operation> class binder2nd;
+  template <class Operation, class T>
+  binder2nd<Operation> bind2nd(const Operation&, const T&);
+
+  //  lib.function.pointer.adaptors, adaptors:
+  template <class Arg, class Result> class pointer_to_unary_function;
+  template <class Arg, class Result>
+  pointer_to_unary_function<Arg,Result> ptr_fun(Result (*)(Arg));
+  template <class Arg1, class Arg2, class Result>
+  class pointer_to_binary_function;
+  template <class Arg1, class Arg2, class Result>
+  pointer_to_binary_function<Arg1,Arg2,Result>
+  ptr_fun(Result (*)(Arg1,Arg2));
+
+  //  lib.member.pointer.adaptors, adaptors:
+  template<class S, class T> class mem_fun_t;
+  template<class S, class T, class A> class mem_fun1_t;
+  template<class S, class T>
+  mem_fun_t<S,T> mem_fun(S (T::*f)());
+  template<class S, class T, class A>
+  mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A));
+  template<class S, class T> class mem_fun_ref_t;
+  template<class S, class T, class A> class mem_fun1_ref_t;
+  template<class S, class T>
+  mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)());
+  template<class S, class T, class A>
+  mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A));
+
+  template <class S, class T> class const_mem_fun_t;
+  template <class S, class T, class A> class const_mem_fun1_t;
+  template <class S, class T>
+  const_mem_fun_t<S,T> mem_fun(S (T::*f)() const);
+  template <class S, class T, class A>
+  const_mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A) const);
+  template <class S, class T> class const_mem_fun_ref_t;
+  template <class S, class T, class A> class const_mem_fun1_ref_t;
+  template <class S, class T>
+  const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const);
+  template <class S, class T, class A>
+  const_mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A) const);
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
new file mode 100644 (file)
index 0000000..306a37e
--- /dev/null
@@ -0,0 +1,54 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <memory>
+
+namespace std {
+  //  lib.default.allocator, the default allocator:
+  template <class T> class allocator;
+  template <> class allocator<void>;
+  template <class T, class U>
+  bool operator==(const allocator<T>&, const allocator<U>&) throw();
+  template <class T, class U>
+  bool operator!=(const allocator<T>&, const allocator<U>&) throw();
+
+  //  lib.storage.iterator, raw storage iterator:
+  template <class OutputIterator, class T> class raw_storage_iterator;
+
+  //  lib.temporary.buffer, temporary buffers:
+  template <class T>
+  pair<T*,ptrdiff_t> get_temporary_buffer(ptrdiff_t n);
+  template <class T>
+  void return_temporary_buffer(T* p);
+
+  //  lib.specialized.algorithms, specialized algorithms:
+  template <class InputIterator, class ForwardIterator>
+  ForwardIterator
+  uninitialized_copy(InputIterator first, InputIterator last,
+                    ForwardIterator result);
+  template <class ForwardIterator, class T>
+  void uninitialized_fill(ForwardIterator first, ForwardIterator last,
+                         const T& x);
+  template <class ForwardIterator, class Size, class T>
+  void uninitialized_fill_n(ForwardIterator first, Size n, const T& x);
+
+  //  lib.auto.ptr, pointers:
+  template<class X> class auto_ptr;
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/utility/synopsis.cc
new file mode 100644 (file)
index 0000000..bb96c32
--- /dev/null
@@ -0,0 +1,46 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <utility>
+
+namespace std {
+  //  lib.operators, operators:
+  namespace rel_ops {
+    template<class T> bool operator!=(const T&, const T&);
+    template<class T> bool operator> (const T&, const T&);
+    template<class T> bool operator<=(const T&, const T&);
+    template<class T> bool operator>=(const T&, const T&);
+  }
+
+  //  lib.pairs, pairs:
+  template <class T1, class T2> struct pair;
+  template <class T1, class T2>
+  bool operator==(const pair<T1,T2>&, const pair<T1,T2>&);
+  template <class T1, class T2>
+  bool operator< (const pair<T1,T2>&, const pair<T1,T2>&);
+  template <class T1, class T2>
+  bool operator!=(const pair<T1,T2>&, const pair<T1,T2>&);
+  template <class T1, class T2>
+  bool operator> (const pair<T1,T2>&, const pair<T1,T2>&);
+  template <class T1, class T2>
+  bool operator>=(const pair<T1,T2>&, const pair<T1,T2>&);
+  template <class T1, class T2>
+  bool operator<=(const pair<T1,T2>&, const pair<T1,T2>&);
+}
diff --git a/libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc b/libstdc++-v3/testsuite/20_util/headers/utility/using_namespace_std_rel_ops.cc
new file mode 100644 (file)
index 0000000..1e78aeb
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <utility>
+
+namespace gnu
+{
+  using namespace std::rel_ops;
+}
diff --git a/libstdc++-v3/testsuite/20_util/memory/allocator/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/memory/allocator/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..ed88aef
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <memory>
+
+template class std::allocator<int>;
diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..e6abacd
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <memory>
+
+template class std::auto_ptr<int>;
diff --git a/libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator/requirements/base_classes.cc
new file mode 100644 (file)
index 0000000..bc2793f
--- /dev/null
@@ -0,0 +1,37 @@
+// { dg-do compile }
+
+// 2001-06-18  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003, 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 20.4.2 raw storage iterator
+
+#include <memory>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required base class.
+  long l;
+  typedef raw_storage_iterator<long*, long> test_iterator;
+  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
+  test_iterator rs_it(&l);
+  base_iterator* base __attribute__((unused)) = &rs_it;
+}
diff --git a/libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..41023b6
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <memory>
+
+template class std::raw_storage_iterator<int*, int>;
similarity index 81%
rename from libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator.cc
rename to libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator/requirements/typedefs.cc
index 36e7d25704ed2646835f379bde405d0cf1f77802..4a51c4c6fd34de185119726d5015ccebbda12736 100644 (file)
@@ -1,6 +1,7 @@
+// { dg-do compile }
 // 2001-06-18  Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -26,23 +27,12 @@ void test01()
 {
   using namespace std;
 
-  // Check for required base class.
+  // Check for required typedefs
   long l;
   typedef raw_storage_iterator<long*, long> test_iterator;
-  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
-  test_iterator rs_it(&l);
-  base_iterator* base __attribute__((unused)) = &rs_it;
-
-  // Check for required typedefs
   typedef test_iterator::value_type value_type;
   typedef test_iterator::difference_type difference_type;
   typedef test_iterator::pointer pointer;
   typedef test_iterator::reference reference;
   typedef test_iterator::iterator_category iteratory_category;
 }
-
-int main() 
-{ 
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/utility/pair/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/utility/pair/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..3d55f62
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <utility>
+
+template class std::pair<int, long>;
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cctype/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cctype/functions_std.cc
new file mode 100644 (file)
index 0000000..b0375f6
--- /dev/null
@@ -0,0 +1,38 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cctype>
+
+namespace gnu
+{
+  using std::isalnum;
+  using std::isdigit;
+  using std::isprint;
+  using std::isupper;
+  using std::tolower;
+  using std::isalpha;
+  using std::isgraph;
+  using std::ispunct;
+  using std::isxdigit;
+  using std::toupper;
+  using std::iscntrl;
+  using std::islower;
+  using std::isspace;
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cstdlib/functions_std.cc
new file mode 100644 (file)
index 0000000..4840dfd
--- /dev/null
@@ -0,0 +1,36 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdlib>
+
+namespace gnu
+{
+  using std::atol;
+  using std::atof;
+  using std::atoi;
+  using std::mblen;
+  using std::mbstowcs;
+  using std::mbtowc;
+  using std::strtod;
+  using std::strtol;
+  using std::strtoul;
+  using std::wctomb;
+  using std::wcstombs;
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstdlib/macros.cc b/libstdc++-v3/testsuite/21_strings/headers/cstdlib/macros.cc
new file mode 100644 (file)
index 0000000..c714d16
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstring>
+
+namespace gnu
+{
+#ifndef NULL
+    #error "NULL_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstring/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cstring/functions_std.cc
new file mode 100644 (file)
index 0000000..3b4662f
--- /dev/null
@@ -0,0 +1,47 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstring>
+
+namespace gnu
+{
+  using std::memchr;
+  using std::memcmp;
+  using std::memcpy;
+  using std::memmove;
+  using std::memset;
+  using std::strcat;
+  using std::strchr;
+  using std::strcmp;
+  using std::strcoll;
+  using std::strcpy;
+  using std::strcspn;
+  using std::strerror;
+  using std::strlen;
+  using std::strncat;
+  using std::strncmp;
+  using std::strncpy;
+  using std::strpbrk;
+  using std::strrchr;
+  using std::strspn;
+  using std::strstr;
+  using std::strtok;
+  using std::strxfrm;
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstring/macros.cc b/libstdc++-v3/testsuite/21_strings/headers/cstring/macros.cc
new file mode 100644 (file)
index 0000000..c714d16
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstring>
+
+namespace gnu
+{
+#ifndef NULL
+    #error "NULL_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cstring/types_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cstring/types_std.cc
new file mode 100644 (file)
index 0000000..f554d5a
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstring>
+
+namespace gnu
+{
+  std::size_t s;
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwchar/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cwchar/functions_std.cc
new file mode 100644 (file)
index 0000000..377cbdc
--- /dev/null
@@ -0,0 +1,77 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cwchar>
+
+namespace gnu
+{
+  using std::btowc;
+  using std::fgetwc;
+  using std::fgetws;
+  using std::fputwc;
+  using std::fputws;
+  using std::fwide;
+  using std::fwprintf;
+  using std::fwscanf;
+  using std::getwc;
+  using std::getwchar;
+  using std::mbrlen;
+  using std::mbrtowc;
+  using std::mbsinit;
+  using std::mbsrtowcs;
+  using std::putwc;
+  using std::putwchar;
+  using std::swprintf;
+  using std::swscanf;
+  using std::ungetwc;
+  using std::vfwprintf;
+  using std::vswprintf;
+  using std::vwprintf;
+  using std::wcrtomb;
+  using std::wcscat;
+  using std::wcschr;
+  using std::wcscmp;
+  using std::wcscoll;
+  using std::wcscpy;
+  using std::wcscmp;
+  using std::wcsftime;
+  using std::wcslen;
+  using std::wcsncat;
+  using std::wcsncmp;
+  using std::wcsncpy;
+  using std::wcspbrk;
+  using std::wcsrchr;
+  using std::wcsrtombs;
+  using std::wcsspn;
+  using std::wcsstr;
+  using std::wcstod;
+  using std::wcstok;
+  using std::wcstol;
+  using std::wcstoul;
+  using std::wcsxfrm;
+  using std::wctob;
+  using std::wmemchr;
+  using std::wmemcmp;
+  using std::wmemcpy;
+  using std::wmemmove;
+  using std::wmemset;
+  using std::wprintf;
+  using std::wscanf;
+}
similarity index 69%
rename from libstdc++-v3/testsuite/17_intro/header_csetjmp.cc
rename to libstdc++-v3/testsuite/21_strings/headers/cwchar/macros.cc
index 28d363101d4b7041e17bd1bc205aa0d9d51d8fc9..17d6129dd901957e6704a6983e0376b018ca2bd7 100644 (file)
@@ -1,6 +1,6 @@
-// 2001-02-06  Benjamin Kosnik  <bkoz@redhat.com>
+// { dg-do compile }
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, csetjmp
-
-#include <csetjmp>
+#include <cwchar>
 
 namespace gnu
 {
-  void test01()
-  { 
-    std::jmp_buf env;
-    int i __attribute__((unused)) = setjmp(env);
-#ifndef setjmp
-    #error "setjmp_must_be_a_macro"
+#ifndef NULL
+    #error "NULL_must_be_a_macro"
+#endif
+
+#ifndef WCHAR_MAX
+    #error "WCHAR_MAX_must_be_a_macro"
+#endif
+
+#ifndef WCHAR_MIN
+    #error "WCHAR_MIN_must_be_a_macro"
+#endif
+
+#ifndef WEOF
+    #error "WEOF_must_be_a_macro"
 #endif
-  }
-}
-  
-int main()
-{
-  gnu::test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwchar/types_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cwchar/types_std.cc
new file mode 100644 (file)
index 0000000..f7cd6a7
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cwchar>
+
+namespace gnu
+{
+  std::mbstate_t mb;
+  std::wint_t wt;
+  std::size_t s;
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwctype/functions_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cwctype/functions_std.cc
new file mode 100644 (file)
index 0000000..88871fa
--- /dev/null
@@ -0,0 +1,40 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cwctype>
+
+namespace gnu
+{
+  using std::iswalnum;
+  using std::iswdigit;
+  using std::iswprint;
+  using std::iswupper;
+  using std::iswalpha;
+  using std::iswgraph;
+  using std::iswpunct;
+  using std::iswxdigit;
+  using std::iswspace;
+  using std::iswcntrl;
+  using std::towlower;
+  using std::towupper;
+  using std::towctrans;
+  using std::wctrans;
+  using std::wctype;
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwctype/macros.cc b/libstdc++-v3/testsuite/21_strings/headers/cwctype/macros.cc
new file mode 100644 (file)
index 0000000..a1d78c7
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cwctype>
+
+namespace gnu
+{
+#ifndef WEOF
+    #error "WEOF_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/cwctype/types_std.cc b/libstdc++-v3/testsuite/21_strings/headers/cwctype/types_std.cc
new file mode 100644 (file)
index 0000000..f8a48cf
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cwctype>
+
+namespace gnu
+{
+  std::wctrans_t wt;
+  std::wctype_t wct;
+  std::wint_t wint;
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/string/synopsis.cc b/libstdc++-v3/testsuite/21_strings/headers/string/synopsis.cc
new file mode 100644 (file)
index 0000000..a482ec1
--- /dev/null
@@ -0,0 +1,135 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <string>
+
+namespace std {
+  //  lib.char.traits, character traits:
+  template<class charT>
+  struct char_traits;
+  template <> struct char_traits<char>;
+  template <> struct char_traits<wchar_t>;
+
+  //  lib.basic.string, basic_string:
+  template<class charT, class traits, class Allocator >
+  class basic_string;
+
+  template<class charT, class traits, class Allocator>
+  basic_string<charT,traits,Allocator>
+  operator+(const basic_string<charT,traits,Allocator>& lhs,
+           const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  basic_string<charT,traits,Allocator>
+  operator+(const charT* lhs,
+           const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  basic_string<charT,traits,Allocator>
+  operator+(charT lhs, const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  basic_string<charT,traits,Allocator>
+  operator+(const basic_string<charT,traits,Allocator>& lhs,
+           const charT* rhs);
+  template<class charT, class traits, class Allocator>
+  basic_string<charT,traits,Allocator>
+  operator+(const basic_string<charT,traits,Allocator>& lhs, charT rhs);
+
+  template<class charT, class traits, class Allocator>
+  bool operator==(const basic_string<charT,traits,Allocator>& lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator==(const charT* lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator==(const basic_string<charT,traits,Allocator>& lhs,
+                 const charT* rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator!=(const charT* lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
+                 const charT* rhs);
+
+  template<class charT, class traits, class Allocator>
+  bool operator< (const basic_string<charT,traits,Allocator>& lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator< (const basic_string<charT,traits,Allocator>& lhs,
+                 const charT* rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator< (const charT* lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator> (const basic_string<charT,traits,Allocator>& lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator> (const basic_string<charT,traits,Allocator>& lhs,
+                 const charT* rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator> (const charT* lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+
+  template<class charT, class traits, class Allocator>
+  bool operator<=(const basic_string<charT,traits,Allocator>& lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator<=(const basic_string<charT,traits,Allocator>& lhs,
+                 const charT* rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator<=(const charT* lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator>=(const basic_string<charT,traits,Allocator>& lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator>=(const basic_string<charT,traits,Allocator>& lhs,
+                 const charT* rhs);
+  template<class charT, class traits, class Allocator>
+  bool operator>=(const charT* lhs,
+                 const basic_string<charT,traits,Allocator>& rhs);
+
+  //  lib.string.special:
+  template<class charT, class traits, class Allocator>
+  void swap(basic_string<charT,traits,Allocator>& lhs,
+           basic_string<charT,traits,Allocator>& rhs);
+
+  template<class charT, class traits, class Allocator>
+  basic_istream<charT,traits>&
+  operator>>(basic_istream<charT,traits>& is,
+            basic_string<charT,traits,Allocator>& str);
+  template<class charT, class traits, class Allocator>
+  basic_ostream<charT, traits>&
+  operator<<(basic_ostream<charT, traits>& os,
+            const basic_string<charT,traits,Allocator>& str);
+  template<class charT, class traits, class Allocator>
+  basic_istream<charT,traits>&
+  getline(basic_istream<charT,traits>& is,
+         basic_string<charT,traits,Allocator>& str,
+         charT  delim);
+  template<class charT, class traits, class Allocator>
+  basic_istream<charT,traits>&
+  getline(basic_istream<charT,traits>& is,
+         basic_string<charT,traits,Allocator>& str);
+
+  typedef basic_string<char> string;
+  typedef basic_string<wchar_t> wstring;
+}
diff --git a/libstdc++-v3/testsuite/21_strings/headers/string/types_std.cc b/libstdc++-v3/testsuite/21_strings/headers/string/types_std.cc
new file mode 100644 (file)
index 0000000..40731c4
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <string>
+
+namespace gnu
+{
+  typedef std::string t1;
+  typedef std::wstring t2;
+}
similarity index 85%
rename from libstdc++-v3/testsuite/22_locale/codecvt/1.cc
rename to libstdc++-v3/testsuite/22_locale/codecvt/requirements/base_classes.cc
index c0232ce8f686801ba5df3f5928bdcbf13dbf0c34..15f5d64fc1e65eddb4c1cf361154c4418dd56ae5 100644 (file)
@@ -30,15 +30,4 @@ void test01()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::intern_type intern_type;
-  typedef test_type::extern_type extern_type;
-  typedef test_type::state_type state_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 86%
rename from libstdc++-v3/testsuite/22_locale/codecvt/2.cc
rename to libstdc++-v3/testsuite/22_locale/codecvt/requirements/explicit_instantiation.cc
index 4e12657623f3a743e5e13733a45e969c390bf81f..b73c8701bb44c44274206649269b15f483e7ba31 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_codecvt: public std::codecvt<unsigned char, unsigned long, char> 
-{ };
-
-void test02()
-{ 
-  gnu_codecvt facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::codecvt<unsigned char, unsigned long, char>;
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/codecvt/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..45cfb2a
--- /dev/null
@@ -0,0 +1,33 @@
+// { dg-do compile }
+// 2001-08-27  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.1.5  Template class codecvt
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::codecvt<char, char, mbstate_t> test_type;
+  typedef test_type::intern_type intern_type;
+  typedef test_type::extern_type extern_type;
+  typedef test_type::state_type state_type;
+}
similarity index 85%
rename from libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc
rename to libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/base_classes.cc
index d9c9f16a4eb005b0953699f7dc51d76909f0162a..337bd1014367513926b8fb59c27717b6440d5447 100644 (file)
@@ -30,15 +30,4 @@ void test01()
   typedef std::codecvt<char, char, mbstate_t> base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale::classic()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::intern_type intern_type;
-  typedef test_type::extern_type extern_type;
-  typedef test_type::state_type state_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..094b386
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <locale>
+
+template class std::codecvt_byname<short, short, mbstate_t>;
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/codecvt_byname/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..1bb9059
--- /dev/null
@@ -0,0 +1,33 @@
+// { dg-do compile }
+// 2001-08-27  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.1.5  Template class codecvt
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::codecvt_byname<char, char, mbstate_t> test_type;
+  typedef test_type::intern_type intern_type;
+  typedef test_type::extern_type extern_type;
+  typedef test_type::state_type state_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/collate/1.cc
rename to libstdc++-v3/testsuite/22_locale/collate/requirements/base_classes.cc
index 72de0a9e1faf45db458c4e4381f66760cd40aa30..765980079db3683613491be356f4ce010abfff1c 100644 (file)
@@ -30,14 +30,4 @@ void test01()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 87%
rename from libstdc++-v3/testsuite/22_locale/collate/2.cc
rename to libstdc++-v3/testsuite/22_locale/collate/requirements/explicit_instantiation.cc
index e4d43e8f5c30f2076af3c30db18ac0cc1bee0138..a9be3b1b0d29737dbda84caf163ca6187a7a9041 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_collate: public std::collate<unsigned char> 
-{ };
-
-void test02()
-{ 
-  gnu_collate facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::collate<unsigned char>;
diff --git a/libstdc++-v3/testsuite/22_locale/collate/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/collate/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..9baafac
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-08-15  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.4 The collate category
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::collate<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/collate_byname/1.cc
rename to libstdc++-v3/testsuite/22_locale/collate_byname/requirements/base_classes.cc
index be3b7d27850232bedd338958b54c1a6309717611..f3d6571d69b1dda1606b5a77203ef0139a805ef8 100644 (file)
@@ -30,14 +30,4 @@ void test01()
   typedef std::collate<char> base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale::classic()); 
   const base_type* base __attribute__((unused)) = &obj;
-
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..43eda6f
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <locale>
+
+template class std::collate_byname<short>;
diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/collate_byname/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..52ae527
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-08-15  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.4 The collate category
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::collate_byname<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+}
similarity index 91%
rename from libstdc++-v3/testsuite/22_locale/ctype/1.cc
rename to libstdc++-v3/testsuite/22_locale/ctype/requirements/base_classes.cc
index a1e2f1f41edd6dbaf94c93ddb3898f932efd3736..0cf4c516ce782c16028f341e7da0ae6d8ae3b4a0 100644 (file)
@@ -32,13 +32,4 @@ void test01()
   const test_type& obj = std::use_facet<test_type>(std::locale::classic()); 
   const base_type1* base1 __attribute__((unused)) = &obj;
   const base_type2* base2 __attribute__((unused)) = &obj;
-
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/ctype/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..85ebec3
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <locale>
+
+template class std::ctype<short>;
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/ctype/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..f88fa34
--- /dev/null
@@ -0,0 +1,31 @@
+// { dg-do compile }
+// 2001-08-15  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.1.1 - Template class ctype
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::ctype<char> test_type;
+  typedef test_type::char_type char_type;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/headers/clocale/functions_std.cc b/libstdc++-v3/testsuite/22_locale/headers/clocale/functions_std.cc
new file mode 100644 (file)
index 0000000..39626e8
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <clocale>
+
+namespace gnu
+{
+  using std::localeconv;
+  using std::setlocale;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/headers/clocale/macros.cc b/libstdc++-v3/testsuite/22_locale/headers/clocale/macros.cc
new file mode 100644 (file)
index 0000000..575a33a
--- /dev/null
@@ -0,0 +1,52 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <clocale>
+
+namespace gnu
+{
+#ifndef NULL
+    #error "NULL_must_be_a_macro"
+#endif
+
+#ifndef LC_ALL
+    #error "LC_ALL_must_be_a_macro"
+#endif
+
+#ifndef LC_COLLATE
+    #error "LC_COLLATE_must_be_a_macro"
+#endif
+
+#ifndef LC_CTYPE
+    #error "LC_CTYPE_must_be_a_macro"
+#endif
+
+#ifndef LC_MONETARY
+    #error "LC_MONETARY_must_be_a_macro"
+#endif
+
+#ifndef LC_NUMERIC
+    #error "LC_NUMERIC_must_be_a_macro"
+#endif
+
+#ifndef LC_TIME
+    #error "LC_TIME_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/22_locale/headers/clocale/types_std.cc b/libstdc++-v3/testsuite/22_locale/headers/clocale/types_std.cc
new file mode 100644 (file)
index 0000000..125aef9
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <clocale>
+
+namespace gnu
+{
+  std::lconv l;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc b/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc
new file mode 100644 (file)
index 0000000..a26eab1
--- /dev/null
@@ -0,0 +1,85 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <locale>
+
+namespace std {
+  //  lib.locale, locale:
+  class locale;
+  template <class Facet> const Facet& use_facet(const locale&);
+  template <class Facet> bool         has_facet(const locale&) throw();
+
+  //  lib.locale.convenience, convenience interfaces:
+  template <class charT> bool isspace (charT c, const locale& loc);
+  template <class charT> bool isprint (charT c, const locale& loc);
+  template <class charT> bool iscntrl (charT c, const locale& loc);
+  template <class charT> bool isupper (charT c, const locale& loc);
+  template <class charT> bool islower (charT c, const locale& loc);
+  template <class charT> bool isalpha (charT c, const locale& loc);
+  template <class charT> bool isdigit (charT c, const locale& loc);
+  template <class charT> bool ispunct (charT c, const locale& loc);
+  template <class charT> bool isxdigit(charT c, const locale& loc);
+  template <class charT> bool isalnum (charT c, const locale& loc);
+  template <class charT> bool isgraph (charT c, const locale& loc);
+  template <class charT> charT toupper(charT c, const locale& loc);
+  template <class charT> charT tolower(charT c, const locale& loc);
+
+  //  lib.category.ctype and lib.facet.ctype.special, ctype:
+  class ctype_base;
+  template <class charT> class ctype;
+  template <>            class ctype<char>;             //  specialization
+  template <class charT> class ctype_byname;
+  template <>            class ctype_byname<char>;      //  specialization
+  class codecvt_base;
+  template <class internT, class externT, class stateT>
+  class codecvt;
+  template <class internT, class externT, class stateT>
+  class codecvt_byname;
+
+  //  lib.category.numeric and lib.facet.numpunct, numeric:
+  template <class charT, class InputIterator>  class num_get;
+  template <class charT, class OutputIterator> class num_put;
+  template <class charT> class numpunct;
+  template <class charT> class numpunct_byname;
+
+  //  lib.category.collate, collation:
+  template <class charT> class collate;
+  template <class charT> class collate_byname;
+
+  //  lib.category.time, date and time:
+  class time_base;
+  template <class charT, class InputIterator>  class time_get;
+  template <class charT, class InputIterator>  class time_get_byname;
+  template <class charT, class OutputIterator> class time_put;
+  template <class charT, class OutputIterator> class time_put_byname;
+
+  //  lib.category.monetary, money:
+  class money_base;
+  template <class charT, class InputIterator>  class money_get;
+  template <class charT, class OutputIterator> class money_put;
+  template <class charT, bool Intl> class moneypunct;
+  template <class charT, bool Intl> class moneypunct_byname;
+
+  //  lib.category.messages, message retrieval:
+  class messages_base;
+  template <class charT> class messages;
+  template <class charT> class messages_byname;
+}
similarity index 73%
rename from libstdc++-v3/testsuite/17_intro/header_cwchar.cc
rename to libstdc++-v3/testsuite/22_locale/headers/locale/types_std.cc
index faf623c117df57092d0e4efe45c770050b879ef9..85e4b9d55bab162e732b92dabd5818d6999e0f96 100644 (file)
@@ -1,6 +1,6 @@
-// 2000-01-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, cwchar
+#include <locale>
 
-#include <cwchar>
-
-int main(void)
+namespace gnu
 {
-  // Make sure size_t is in namespace std
-  std::size_t i __attribute__((unused)) = 5;
-
-  std::tm  __attribute__((unused)) mytime;
-
-  return 0;
+  typedef std::locale t1;
+  typedef std::ctype_base t2;
+  typedef std::codecvt_base t3;
+  typedef std::time_base t4;
+  typedef std::money_base t5;
+  typedef std::messages_base t6;
 }
similarity index 89%
rename from libstdc++-v3/testsuite/22_locale/messages/1.cc
rename to libstdc++-v3/testsuite/22_locale/messages/requirements/base_classes.cc
index 55b59ef46c64969d55c42c41e8118bec115a9398..ea89f80ea165ee338a4219f92b73dfc11173956b 100644 (file)
@@ -32,14 +32,4 @@ void test01()
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type1* base1 __attribute__((unused)) = &obj;
   const base_type2* base2 __attribute__((unused)) = &obj;
-
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 87%
rename from libstdc++-v3/testsuite/22_locale/messages/2.cc
rename to libstdc++-v3/testsuite/22_locale/messages/requirements/explicit_instantiation.cc
index 42c37d9c22a7341e2e2977722e6e09ac5f72e553..eaea10479066b0723460befa4f4ac2f2e9fad3e8 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_messages: public std::messages<unsigned char> 
-{ };
-
-void test02()
-{ 
-  gnu_messages facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::messages<unsigned char>;
diff --git a/libstdc++-v3/testsuite/22_locale/messages/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/messages/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..e8c5b95
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-07-17  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.7 The message retrieval category
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::messages<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/messages_byname/1.cc
rename to libstdc++-v3/testsuite/22_locale/messages_byname/requirements/base_classes.cc
index 51077ca548a7c2634fa2b1e5d695e3b6b4decd71..4836c046d000405c396f85f85c16f2607e525522 100644 (file)
@@ -30,14 +30,4 @@ void test01()
   typedef std::messages<char> base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale::classic()); 
   const base_type* base __attribute__((unused)) = &obj;
-
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..b108ff8
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <locale>
+
+template class std::messages_byname<short>;
diff --git a/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/messages_byname/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..b74150e
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-07-17  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.7 The message retrieval category
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::messages_byname<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+}
similarity index 85%
rename from libstdc++-v3/testsuite/22_locale/money_get/1.cc
rename to libstdc++-v3/testsuite/22_locale/money_get/requirements/base_classes.cc
index dd7d0d26be3c88add5608d4a093009cf7d1c475e..a0a936ee0a84b704bb2ce79a8c98e17a3e21e9e2 100644 (file)
@@ -30,15 +30,4 @@ void test01()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-  typedef test_type::iter_type iter_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 87%
rename from libstdc++-v3/testsuite/22_locale/money_get/2.cc
rename to libstdc++-v3/testsuite/22_locale/money_get/requirements/explicit_instantiations.cc
index 3853a22456af66334d8456a57ec1c5bda3a0a0d7..dc7f85968c8e5529bd3dbccd02a74c2262bcb197 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_money_get: public std::money_get<unsigned char> 
-{ };
-
-void test02()
-{ 
-  gnu_money_get facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::money_get<unsigned char>;
diff --git a/libstdc++-v3/testsuite/22_locale/money_get/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/money_get/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..ee3b04d
--- /dev/null
@@ -0,0 +1,33 @@
+// { dg-do compile }
+// 2001-09-12  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.6.1  Template class money_get
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::money_get<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+  typedef test_type::iter_type iter_type;
+}
similarity index 85%
rename from libstdc++-v3/testsuite/22_locale/money_put/1.cc
rename to libstdc++-v3/testsuite/22_locale/money_put/requirements/base_classes.cc
index 2e0bfa05c2b2a474b4c1d5cecdf4270ec77fe56e..b352a25bb98b962f1bf0254121767b5d061244bd 100644 (file)
@@ -30,15 +30,4 @@ void test01()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-  typedef test_type::iter_type iter_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 87%
rename from libstdc++-v3/testsuite/22_locale/money_put/2.cc
rename to libstdc++-v3/testsuite/22_locale/money_put/requirements/explicit_instantiation.cc
index 28f9005b1e47ca2c0ea28b80eddf12f7c83d5bd5..0afb18759e017ede295b5d09c91bbb2651b4bb96 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_money_put: public std::money_put<unsigned char> 
-{ };
-
-void test02()
-{ 
-  gnu_money_put facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::money_put<unsigned char>;
diff --git a/libstdc++-v3/testsuite/22_locale/money_put/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/money_put/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..1e5ded2
--- /dev/null
@@ -0,0 +1,33 @@
+// { dg-do compile }
+// 2001-08-27  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.6.2  Template class money_put
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::money_put<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+  typedef test_type::iter_type iter_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/moneypunct/2.cc
rename to libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/base_classes.cc
index 87fb4f487d4dfbde7b04473c71f52d5baa226956..a880d82fd1c38a1d6dde204bc69b0e170a45c9dd 100644 (file)
@@ -31,14 +31,4 @@ void test02()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-}
-
-int main()
-{
-  test02();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..9b24c0b
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <locale>
+
+template class std::moneypunct<short, false>;
similarity index 83%
rename from libstdc++-v3/testsuite/22_locale/moneypunct/3.cc
rename to libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/intl.cc
index 2b8cdc310cb25cf5e0d14d98d7fe88b8828e5bf0..9380ecbe76de3c87bfc4d78bdddf71b2787fca84 100644 (file)
 
 // 22.2.6.3  Template class moneypunct
 
-// { dg-do compile }
-
 #include <locale>
 #include <testsuite_hooks.h>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_moneypunct_t: public std::moneypunct<unsigned char, true> 
-{ };
-
-class gnu_moneypunct_f: public std::moneypunct<unsigned char, false> 
+class gnu_moneypunct_f: public std::moneypunct<char, false> 
 { };
 
 void test03()
 { 
-  gnu_moneypunct_t facet01;
+  bool test __attribute__((unused)) = true;
   gnu_moneypunct_f facet02;
-  VERIFY (facet01.intl == true);
   VERIFY (facet02.intl == false);
 }
 
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/typedefs.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/false/typedefs.cc
new file mode 100644 (file)
index 0000000..cd6b92b
--- /dev/null
@@ -0,0 +1,33 @@
+// { dg-do compile }
+// 2001-08-23  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.6.3  Template class moneypunct
+
+#include <locale>
+#include <testsuite_hooks.h>
+
+void test02()
+{
+  // Check for required typedefs
+  typedef std::moneypunct<char, false> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+}
similarity index 86%
rename from libstdc++-v3/testsuite/22_locale/moneypunct/1.cc
rename to libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/base_classes.cc
index 29959451f844c4d5f99a7e55f50319643ff87ef2..231172e86d74cf1d867bdf7f6182450da314b7c4 100644 (file)
@@ -22,7 +22,6 @@
 // 22.2.6.3  Template class moneypunct
 
 #include <locale>
-#include <testsuite_hooks.h>
 
 void test01()
 {
@@ -31,14 +30,4 @@ void test01()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..20cac01
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <locale>
+
+template class std::moneypunct<short, true>;
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/intl.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/intl.cc
new file mode 100644 (file)
index 0000000..3448737
--- /dev/null
@@ -0,0 +1,41 @@
+// 2001-08-23  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.6.3  Template class moneypunct
+
+#include <locale>
+#include <testsuite_hooks.h>
+
+// Should be able to instantiate this for other types besides char, wchar_t
+class gnu_moneypunct_t: public std::moneypunct<char, true> 
+{ };
+
+void test03()
+{ 
+  bool test __attribute__((unused)) = true;
+  gnu_moneypunct_t facet01;
+  VERIFY (facet01.intl == true);
+}
+
+int main()
+{
+  test03();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/typedefs.cc b/libstdc++-v3/testsuite/22_locale/moneypunct/requirements/true/typedefs.cc
new file mode 100644 (file)
index 0000000..f1ced4e
--- /dev/null
@@ -0,0 +1,33 @@
+// { dg-do compile }
+// 2001-08-23  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.6.3  Template class moneypunct
+
+#include <locale>
+#include <testsuite_hooks.h>
+
+void test01()
+{  
+  // Check for required typedefs
+  typedef std::moneypunct<char, true> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc
rename to libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/base_classes.cc
index 0751211e282d912d741e76dbdcb94d3d6b0645ab..1180f2981755d5ded5809b81104c58ee7ba805da 100644 (file)
@@ -31,14 +31,4 @@ void test01()
   typedef std::moneypunct<char, true> base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..4330285
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <locale>
+
+template class std::moneypunct_byname<short, true>;
diff --git a/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/moneypunct_byname/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..b4b3b51
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-08-23  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.6.3  Template class moneypunct
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::moneypunct_byname<char, true> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/num_get/1.cc
rename to libstdc++-v3/testsuite/22_locale/num_get/requirements/base_classes.cc
index f1f1f85dd2bb12e06e4aebb3e5c450682860746c..363ad15faf436fd7b83d7c9bdad0ecc2228a18e9 100644 (file)
@@ -30,14 +30,4 @@ void test01()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::iter_type iter_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 87%
rename from libstdc++-v3/testsuite/22_locale/num_get/2.cc
rename to libstdc++-v3/testsuite/22_locale/num_get/requirements/explicit_instantiation.cc
index ab2d7437ee5b5991cfdfad1733196da7c97d43fd..87e126a7d06aead0c3752f5587abf007fcc7e1cb 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_num_get: public std::num_get<unsigned char> 
-{ };
-
-void test02()
-{ 
-  gnu_num_get facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::num_get<unsigned char> ;
diff --git a/libstdc++-v3/testsuite/22_locale/num_get/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/num_get/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..1229581
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-11-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.2.1  Template class num_get
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::num_get<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::iter_type iter_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/num_put/1.cc
rename to libstdc++-v3/testsuite/22_locale/num_put/requirements/base_classes.cc
index 528c1306bd51c8d50cfa6dd5b29b46b7ff83623a..eb8432c5cb6911db7d2342c74e37a386fa00eac3 100644 (file)
@@ -30,14 +30,4 @@ void test01()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::iter_type iter_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 87%
rename from libstdc++-v3/testsuite/22_locale/num_put/2.cc
rename to libstdc++-v3/testsuite/22_locale/num_put/requirements/explicit_instantiations.cc
index cec69bb54b09b93c2756526fcf5e985f9a5114df..08008ee8c890e0668eb80c4f20d206d1a3518e09 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_num_put: public std::num_put<unsigned char> 
-{ };
-
-void test02()
-{ 
-  gnu_num_put facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::num_put<unsigned char>;
diff --git a/libstdc++-v3/testsuite/22_locale/num_put/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/num_put/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..2dfed97
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-11-19  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.2.2  Template class num_put
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::num_put<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::iter_type iter_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/numpunct/1.cc
rename to libstdc++-v3/testsuite/22_locale/numpunct/requirements/base_classes.cc
index b4dc0d9ad7627aadce5417fb670620b3dfb99889..db5ce24202d9eb70eb27f28578fdb22d3669dc13 100644 (file)
@@ -30,14 +30,4 @@ void test01()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 87%
rename from libstdc++-v3/testsuite/22_locale/numpunct/2.cc
rename to libstdc++-v3/testsuite/22_locale/numpunct/requirements/explicit_instantiations.cc
index 59aa3d9b1c200c6e4189b3d498dedbf7184cb76d..279633a3ea0a1490d00252286207144ac0dac47e 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_numpunct: public std::numpunct<unsigned char> 
-{ };
-
-void test02()
-{ 
-  gnu_numpunct facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::numpunct<unsigned char>;
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/numpunct/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..e58fa1e
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-01-23  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003  Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.3  The numeric punctuation facet
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::numpunct<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc
rename to libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/base_classes.cc
index c41707873d6c2f2ea8339634fbc95db116ede975..9b79493cd7b7dae361ea1f6a67ac6ac3da1af716 100644 (file)
@@ -30,14 +30,4 @@ void test01()
   typedef std::numpunct<char> base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::string_type string_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..799541d
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+// 2001-01-23  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003  Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.3  The numeric punctuation facet
+
+#include <locale>
+
+// Should be able to instantiate this for other types besides char, wchar_t
+template class std::numpunct_byname<unsigned char>;
diff --git a/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/numpunct_byname/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..d269996
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-01-23  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003  Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.3  The numeric punctuation facet
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::numpunct_byname<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::string_type string_type;
+}
similarity index 89%
rename from libstdc++-v3/testsuite/22_locale/time_get/1.cc
rename to libstdc++-v3/testsuite/22_locale/time_get/requirements/base_classes.cc
index 1a68ce7128a2bb2421dcdb094442b9e96dd52426..072db6dbd6d93338aec961941bfef26b34648e8c 100644 (file)
@@ -32,14 +32,4 @@ void test01()
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type1* base1 __attribute__((unused)) = &obj;
   const base_type2* base2 __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::iter_type iter_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 87%
rename from libstdc++-v3/testsuite/22_locale/time_get/2.cc
rename to libstdc++-v3/testsuite/22_locale/time_get/requirements/explicit_instantiations.cc
index 19c145c591197ebe46841d493be6ad63d316938a..170e9e75472584853d3aa2eb4a5f718f39c8743c 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_time_get: public std::time_get<unsigned char> 
-{ };
-
-void test02()
-{ 
-  gnu_time_get facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::time_get<unsigned char>;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/time_get/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..1d2afa6
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-09-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.5.1  Template class time_get
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::time_get<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::iter_type iter_type;
+}
similarity index 88%
rename from libstdc++-v3/testsuite/22_locale/time_put/1.cc
rename to libstdc++-v3/testsuite/22_locale/time_put/requirements/base_classes.cc
index 69f24aec5ea86a93413ca3e793795d930556325d..197fa6e6a64474ceae8314b8d3d6d3fe2fb58b94 100644 (file)
@@ -30,14 +30,4 @@ void test01()
   typedef std::locale::facet base_type;
   const test_type& obj = std::use_facet<test_type>(std::locale()); 
   const base_type* base __attribute__((unused)) = &obj;
-  
-  // Check for required typedefs
-  typedef test_type::char_type char_type;
-  typedef test_type::iter_type iter_type;
-}
-
-int main()
-{
-  test01();
-  return 0;
 }
similarity index 87%
rename from libstdc++-v3/testsuite/22_locale/time_put/2.cc
rename to libstdc++-v3/testsuite/22_locale/time_put/requirements/explicit_instantiations.cc
index 50383559531a28270708bfbd2a35fd208e762c79..a1b365c597b2c7e9ba109d39b1129d02c0c5e011 100644 (file)
 #include <locale>
 
 // Should be able to instantiate this for other types besides char, wchar_t
-class gnu_time_put: public std::time_put<unsigned char> 
-{ };
-
-void test02()
-{ 
-  gnu_time_put facet01;
-}
-
-int main()
-{
-  test02();
-  return 0;
-}
+template class std::time_put<unsigned char>;
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/requirements/typedefs.cc b/libstdc++-v3/testsuite/22_locale/time_put/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..69e7c4a
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-09-17  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 22.2.5.3  Template class time_put
+
+#include <locale>
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::time_put<char> test_type;
+  typedef test_type::char_type char_type;
+  typedef test_type::iter_type iter_type;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..bec170e
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <bitset>
+
+template class std::bitset<10>;
diff --git a/libstdc++-v3/testsuite/23_containers/headers/bitset/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/bitset/synopsis.cc
new file mode 100644 (file)
index 0000000..e0ba4d4
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <bitset>
+
+namespace std {
+  template <size_t N> class bitset;
+
+  // 23.3.5.3 bitset operations:
+  template <size_t N>
+    bitset<N> operator&(const bitset<N>&, const bitset<N>&);
+
+  template <size_t N>
+    bitset<N> operator|(const bitset<N>&, const bitset<N>&);
+
+  template <size_t N>
+    bitset<N> operator^(const bitset<N>&, const bitset<N>&);
+
+  template <class charT, class traits, size_t N>
+    basic_istream<charT, traits>&
+    operator>>(basic_istream<charT, traits>& is, bitset<N>& x);
+
+  template <class charT, class traits, size_t N>
+    basic_ostream<charT, traits>&
+    operator<<(basic_ostream<charT, traits>& os, const bitset<N>& x);
+}
diff --git a/libstdc++-v3/testsuite/23_containers/headers/deque/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/deque/synopsis.cc
new file mode 100644 (file)
index 0000000..832baf1
--- /dev/null
@@ -0,0 +1,46 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <deque>
+
+namespace std {
+  template <class T, class Allocator> class deque;
+
+  template <class T, class Allocator>
+    bool operator== (const deque<T,Allocator>& x, const deque<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator< (const deque<T,Allocator>& x, const deque<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator!= (const deque<T,Allocator>& x, const deque<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator> (const deque<T,Allocator>& x, const deque<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator>= (const deque<T,Allocator>& x, const deque<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator<= (const deque<T,Allocator>& x, const deque<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    void swap(deque<T,Allocator>& x, deque<T,Allocator>& y);
+}
diff --git a/libstdc++-v3/testsuite/23_containers/headers/list/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/list/synopsis.cc
new file mode 100644 (file)
index 0000000..1b3fb40
--- /dev/null
@@ -0,0 +1,46 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <list>
+
+namespace std {
+  template <class T, class Allocator> class list;
+
+  template <class T, class Allocator>
+  bool operator==(const list<T,Allocator>& x, const list<T,Allocator>&);
+
+  template <class T, class Allocator>
+  bool operator< (const list<T,Allocator>& x, const list<T,Allocator>&);
+
+  template <class T, class Allocator>
+    bool operator!=(const list<T,Allocator>& x, const list<T,Allocator>&);
+
+  template <class T, class Allocator>
+    bool operator> (const list<T,Allocator>& x, const list<T,Allocator>&);
+
+  template <class T, class Allocator>
+    bool operator>=(const list<T,Allocator>& x, const list<T,Allocator>&);
+
+  template <class T, class Allocator>
+    bool operator<=(const list<T,Allocator>& x, const list<T,Allocator>&);
+
+  template <class T, class Allocator>
+    void swap(list<T,Allocator>& x, list<T,Allocator>& y);
+}
diff --git a/libstdc++-v3/testsuite/23_containers/headers/map/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/map/synopsis.cc
new file mode 100644 (file)
index 0000000..a8129df
--- /dev/null
@@ -0,0 +1,71 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <map>
+
+namespace std {
+  template <class Key, class T, class Compare, class Allocator>
+    class map;
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator==(const map<Key,T,Compare,Allocator>& x,
+                    const map<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator< (const map<Key,T,Compare,Allocator>& x,
+                    const map<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator!=(const map<Key,T,Compare,Allocator>& x,
+                    const map<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator> (const map<Key,T,Compare,Allocator>& x,
+                    const map<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator>=(const map<Key,T,Compare,Allocator>& x,
+                    const map<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator<=(const map<Key,T,Compare,Allocator>& x,
+                    const map<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    void swap(map<Key,T,Compare,Allocator>& x,
+              map<Key,T,Compare,Allocator>& y);
+
+  template <class Key, class T, class Compare, class Allocator>
+    class multimap;
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator==(const multimap<Key,T,Compare,Allocator>& x,
+                    const multimap<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator< (const multimap<Key,T,Compare,Allocator>& x,
+                    const multimap<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator!=(const multimap<Key,T,Compare,Allocator>& x,
+                    const multimap<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator> (const multimap<Key,T,Compare,Allocator>& x,
+                    const multimap<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator>=(const multimap<Key,T,Compare,Allocator>& x,
+                    const multimap<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    bool operator<=(const multimap<Key,T,Compare,Allocator>& x,
+                    const multimap<Key,T,Compare,Allocator>& y);
+  template <class Key, class T, class Compare, class Allocator>
+    void swap(multimap<Key,T,Compare,Allocator>& x,
+              multimap<Key,T,Compare,Allocator>& y);
+}
diff --git a/libstdc++-v3/testsuite/23_containers/headers/queue/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/queue/synopsis.cc
new file mode 100644 (file)
index 0000000..67a99d2
--- /dev/null
@@ -0,0 +1,51 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <queue>
+
+namespace std {
+  template <class T, class Container> class queue;
+  template <class T, class Container>
+    bool operator==(const queue<T, Container>& x,
+                    const queue<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator< (const queue<T, Container>& x,
+                    const queue<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator!=(const queue<T, Container>& x,
+                    const queue<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator> (const queue<T, Container>& x,
+                    const queue<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator>=(const queue<T, Container>& x,
+                    const queue<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator<=(const queue<T, Container>& x,
+                    const queue<T, Container>& y);
+
+  template <class T, class Container, class Compare>
+  class priority_queue;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/headers/set/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/set/synopsis.cc
new file mode 100644 (file)
index 0000000..e517bf4
--- /dev/null
@@ -0,0 +1,85 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <set>
+
+namespace std {
+  template <class Key, class Compare, class Allocator>
+    class set;
+
+  template <class Key, class Compare, class Allocator>
+    bool operator==(const set<Key,Compare,Allocator>& x,
+                    const set<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator< (const set<Key,Compare,Allocator>& x,
+                    const set<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator!=(const set<Key,Compare,Allocator>& x,
+                    const set<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator> (const set<Key,Compare,Allocator>& x,
+                    const set<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator>=(const set<Key,Compare,Allocator>& x,
+                    const set<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator<=(const set<Key,Compare,Allocator>& x,
+                    const set<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    void swap(set<Key,Compare,Allocator>& x,
+              set<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    class multiset;
+
+  template <class Key, class Compare, class Allocator>
+    bool operator==(const multiset<Key,Compare,Allocator>& x,
+                    const multiset<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator< (const multiset<Key,Compare,Allocator>& x,
+                    const multiset<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator!=(const multiset<Key,Compare,Allocator>& x,
+                    const multiset<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator> (const multiset<Key,Compare,Allocator>& x,
+                    const multiset<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator>=(const multiset<Key,Compare,Allocator>& x,
+                    const multiset<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    bool operator<=(const multiset<Key,Compare,Allocator>& x,
+                    const multiset<Key,Compare,Allocator>& y);
+
+  template <class Key, class Compare, class Allocator>
+    void swap(multiset<Key,Compare,Allocator>& x,
+              multiset<Key,Compare,Allocator>& y);
+}
diff --git a/libstdc++-v3/testsuite/23_containers/headers/stack/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/stack/synopsis.cc
new file mode 100644 (file)
index 0000000..b6bea1e
--- /dev/null
@@ -0,0 +1,49 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <stack>
+
+namespace std {
+  template <class T, class Container> class stack;
+
+  template <class T, class Container>
+    bool operator==(const stack<T, Container>& x,
+                    const stack<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator< (const stack<T, Container>& x,
+                    const stack<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator!=(const stack<T, Container>& x,
+                    const stack<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator> (const stack<T, Container>& x,
+                    const stack<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator>=(const stack<T, Container>& x,
+                    const stack<T, Container>& y);
+
+  template <class T, class Container>
+    bool operator<=(const stack<T, Container>& x,
+                    const stack<T, Container>& y);
+}
diff --git a/libstdc++-v3/testsuite/23_containers/headers/vector/synopsis.cc b/libstdc++-v3/testsuite/23_containers/headers/vector/synopsis.cc
new file mode 100644 (file)
index 0000000..713fb79
--- /dev/null
@@ -0,0 +1,81 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <vector>
+
+namespace std {
+  template <class T, class Allocator> class vector;
+
+  template <class T, class Allocator>
+    bool operator==(const vector<T,Allocator>& x,
+                    const vector<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator< (const vector<T,Allocator>& x,
+                    const vector<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator!=(const vector<T,Allocator>& x,
+                    const vector<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator> (const vector<T,Allocator>& x,
+                    const vector<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator>=(const vector<T,Allocator>& x,
+                    const vector<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    bool operator<=(const vector<T,Allocator>& x,
+                    const vector<T,Allocator>& y);
+
+  template <class T, class Allocator>
+    void swap(vector<T,Allocator>& x, vector<T,Allocator>& y);
+
+  template <class Allocator> class vector<bool,Allocator>;
+
+  template <class Allocator>
+    bool operator==(const vector<bool,Allocator>& x,
+                    const vector<bool,Allocator>& y);
+
+  template <class Allocator>
+    bool operator< (const vector<bool,Allocator>& x,
+                    const vector<bool,Allocator>& y);
+
+  template <class Allocator>
+    bool operator!=(const vector<bool,Allocator>& x,
+                    const vector<bool,Allocator>& y);
+
+  template <class Allocator>
+    bool operator> (const vector<bool,Allocator>& x,
+                    const vector<bool,Allocator>& y);
+
+  template <class Allocator>
+    bool operator>=(const vector<bool,Allocator>& x,
+                    const vector<bool,Allocator>& y);
+
+  template <class Allocator>
+    bool operator<=(const vector<bool,Allocator>& x,
+                    const vector<bool,Allocator>& y);
+
+  template <class Allocator>
+    void swap(vector<bool,Allocator>& x, vector<bool,Allocator>& y);
+}
diff --git a/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/priority_queue/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..648040d
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <queue>
+
+template class std::priority_queue<int>;
diff --git a/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/queue/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..081f73a
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <queue>
+
+template class std::queue<int>;
diff --git a/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/23_containers/stack/requirements/explicit_instantiation/1.cc
new file mode 100644 (file)
index 0000000..ee0a244
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <stack>
+
+template class std::stack<int>;
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/2.cc
new file mode 100644 (file)
index 0000000..ce2f1ff
--- /dev/null
@@ -0,0 +1,37 @@
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.1 Template class back_insert_iterator
+
+#include <iterator>
+#include <list>
+
+void test02()
+{
+  typedef std::back_insert_iterator<std::list<int> > iterator_type;
+  std::list<int> li;
+  iterator_type it = std::back_inserter(li);
+}
+
+int main() 
+{ 
+  test02();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc
new file mode 100644 (file)
index 0000000..527301a
--- /dev/null
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.1 Template class back_insert_iterator
+
+#include <iterator>
+#include <list>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required base class.
+  list<int> l;
+  typedef back_insert_iterator<list<int> > test_iterator;
+  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
+  test_iterator  r_it(l);
+  base_iterator* base __attribute__((unused)) = &r_it;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc
new file mode 100644 (file)
index 0000000..1d2d4e0
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.1 Template class back_insert_iterator
+
+#include <iterator>
+#include <list>
+
+// Check data member 'container' accessible.
+class test_dm : public std::back_insert_iterator<std::list<int> >
+{
+  container_type l;
+  container_type* p;
+public:
+  test_dm():  std::back_insert_iterator<std::list<int> >(l), p(container) { }
+};
diff --git a/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..dedcefb
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.1 Template class back_insert_iterator
+
+#include <iterator>
+#include <list>
+
+// Make sure iterator can be instantiated.
+template class std::back_insert_iterator<std::list<int> >;
similarity index 65%
rename from libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc
rename to libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc
index 9105a5591d550391a908f9325ec9b19177680a56..3253d44a946ebff85c7097497d44b199919dd754 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
@@ -27,14 +28,8 @@ void test01()
 {
   using namespace std;
 
-  // Check for required base class.
-  list<int> l;
-  typedef back_insert_iterator<list<int> > test_iterator;
-  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
-  test_iterator  r_it(l);
-  base_iterator* base __attribute__((unused)) = &r_it;
-
   // Check for required typedefs
+  typedef back_insert_iterator<list<int> > test_iterator;
   typedef test_iterator::value_type value_type;
   typedef test_iterator::difference_type difference_type;
   typedef test_iterator::pointer pointer;
@@ -42,30 +37,3 @@ void test01()
   typedef test_iterator::iterator_category iteratory_category;
   typedef test_iterator::container_type container_type;
 }
-
-
-// Make sure iterator can be instantiated.
-template class std::back_insert_iterator<std::list<int> >;
-
-void test02()
-{
-  typedef std::back_insert_iterator<std::list<int> > iterator_type;
-  std::list<int> li;
-  iterator_type it = std::back_inserter(li);
-}
-
-// Check data member 'container' accessible.
-class test_dm : public std::back_insert_iterator<std::list<int> >
-{
-  container_type l;
-  container_type* p;
-public:
-  test_dm():  std::back_insert_iterator<std::list<int> >(l), p(container) { }
-};
-
-int main() 
-{ 
-  test01();
-  test02();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc
new file mode 100644 (file)
index 0000000..fee624b
--- /dev/null
@@ -0,0 +1,37 @@
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.3 Template class front_insert_iterator
+
+#include <iterator>
+#include <list>
+
+void test02()
+{
+  typedef std::front_insert_iterator<std::list<int> > iterator_type;
+  std::list<int> li;
+  iterator_type it = std::front_inserter(li);
+}
+
+int main() 
+{ 
+  test02();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc
new file mode 100644 (file)
index 0000000..f037f76
--- /dev/null
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.3 Template class front_insert_iterator
+
+#include <iterator>
+#include <list>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required base class.
+  list<int> l;
+  typedef front_insert_iterator<list<int> > test_iterator;
+  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
+  test_iterator  r_it(l);
+  base_iterator* base __attribute__((unused)) = &r_it;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc
new file mode 100644 (file)
index 0000000..696292d
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.3 Template class front_insert_iterator
+
+#include <iterator>
+#include <list>
+
+// Check data member 'container' accessible.
+class test_dm : public std::front_insert_iterator<std::list<int> >
+{
+  container_type l;
+  container_type* p;
+public:
+  test_dm(): std::front_insert_iterator<std::list<int> >(l), p(container) { }
+};
diff --git a/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..b6f13b1
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.3 Template class front_insert_iterator
+
+#include <iterator>
+#include <list>
+
+// Make sure iterator can be instantiated.
+template class std::front_insert_iterator<std::list<int> >;
similarity index 64%
rename from libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc
rename to libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/typedefs.cc
index bdd024c1f289b5cae0a7e3c2baaa51f2dce7da63..a3ce57e5fda8aa58235231364eb2f9d8359e2c09 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
@@ -27,14 +28,8 @@ void test01()
 {
   using namespace std;
 
-  // Check for required base class.
-  list<int> l;
-  typedef front_insert_iterator<list<int> > test_iterator;
-  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
-  test_iterator  r_it(l);
-  base_iterator* base __attribute__((unused)) = &r_it;
-
   // Check for required typedefs
+  typedef front_insert_iterator<list<int> > test_iterator;
   typedef test_iterator::value_type value_type;
   typedef test_iterator::difference_type difference_type;
   typedef test_iterator::pointer pointer;
@@ -42,29 +37,3 @@ void test01()
   typedef test_iterator::iterator_category iteratory_category;
   typedef test_iterator::container_type container_type;
 }
-
-// Make sure iterator can be instantiated.
-template class std::front_insert_iterator<std::list<int> >;
-
-void test02()
-{
-  typedef std::front_insert_iterator<std::list<int> > iterator_type;
-  std::list<int> li;
-  iterator_type it = std::front_inserter(li);
-}
-
-// Check data member 'container' accessible.
-class test_dm : public std::front_insert_iterator<std::list<int> >
-{
-  container_type l;
-  container_type* p;
-public:
-  test_dm(): std::front_insert_iterator<std::list<int> >(l), p(container) { }
-};
-
-int main() 
-{ 
-  test01();
-  test02();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis.cc
new file mode 100644 (file)
index 0000000..fdb22f0
--- /dev/null
@@ -0,0 +1,128 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <iterator>
+
+namespace std {
+
+  // 24.3, primitives:
+  template<class Iterator> struct iterator_traits;
+  template<class T> struct iterator_traits<T*>;
+
+  template<class Category, class T, class Distance,
+          class Pointer, class Reference> struct iterator;
+
+  struct input_iterator_tag;
+  struct output_iterator_tag;
+  struct forward_iterator_tag;
+  struct bidirectional_iterator_tag;
+  struct random_access_iterator_tag;
+
+  // 24.3.4, iterator operations:
+  template <class InputIterator, class Distance>
+  void 
+  advance(InputIterator& i, Distance n);
+
+  template <class InputIterator>
+  typename iterator_traits<InputIterator>::difference_type
+  distance(InputIterator first, InputIterator last);
+
+  // 24.4, predefined iterators:
+  template <class Iterator> class reverse_iterator;
+
+  template <class Iterator>
+  bool operator==(const reverse_iterator<Iterator>& x,
+                 const reverse_iterator<Iterator>& y);
+
+  template <class Iterator>
+  bool operator<(const reverse_iterator<Iterator>& x,
+                const reverse_iterator<Iterator>& y);
+
+  template <class Iterator>
+  bool operator!=(const reverse_iterator<Iterator>& x,
+                 const reverse_iterator<Iterator>& y);
+
+  template <class Iterator>
+  bool operator>(const reverse_iterator<Iterator>& x,
+                const reverse_iterator<Iterator>& y);
+
+  template <class Iterator>
+  bool operator>=(const reverse_iterator<Iterator>& x,
+                 const reverse_iterator<Iterator>& y);
+
+  template <class Iterator>
+  bool operator<=(const reverse_iterator<Iterator>& x,
+                 const reverse_iterator<Iterator>& y);
+
+  template <class Iterator>
+  typename reverse_iterator<Iterator>::difference_type 
+  operator-(const reverse_iterator<Iterator>& x, 
+           const reverse_iterator<Iterator>& y);
+
+  template <class Iterator>
+  reverse_iterator<Iterator>
+  operator+(typename reverse_iterator<Iterator>::difference_type n,
+           const reverse_iterator<Iterator>& x);
+
+  template <class Container> class back_insert_iterator;
+  template <class Container>
+  back_insert_iterator<Container> back_inserter(Container& x);
+
+  template <class Container> class front_insert_iterator;
+
+  template <class Container>
+  front_insert_iterator<Container> front_inserter(Container& x);
+
+  template <class Container> class insert_iterator;
+
+  template <class Container, class Iterator>
+  insert_iterator<Container> inserter(Container& x, Iterator i);
+
+  // 24.5, stream iterators:
+  template <class T, class charT, class traits, class Distance>
+  class istream_iterator;
+
+  template <class T, class charT, class traits, class Distance>
+  bool operator==(const istream_iterator<T,charT,traits,Distance>& x,
+                 const istream_iterator<T,charT,traits,Distance>& y);
+
+  template <class T, class charT, class traits, class Distance>
+  bool operator!=(const istream_iterator<T,charT,traits,Distance>& x,
+                 const istream_iterator<T,charT,traits,Distance>& y);
+
+  template <class T, class charT, class traits>
+  class ostream_iterator;
+
+  template<class charT, class traits>
+  class istreambuf_iterator;
+
+  template <class charT, class traits>
+  bool 
+  operator==(const istreambuf_iterator<charT,traits>&, 
+            const istreambuf_iterator<charT,traits>&);
+
+  template <class charT, class traits>
+    bool operator!=(const istreambuf_iterator<charT,traits>&,
+                    const istreambuf_iterator<charT,traits>&);
+
+  template <class charT, class traits>
+    class ostreambuf_iterator;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/types_std.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/types_std.cc
new file mode 100644 (file)
index 0000000..0db2173
--- /dev/null
@@ -0,0 +1,30 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <iterator>
+
+namespace gnu
+{
+  typedef std::input_iterator_tag t1;
+  typedef std::output_iterator_tag t2;
+  typedef std::forward_iterator_tag t3;
+  typedef std::bidirectional_iterator_tag t4;
+  typedef std::random_access_iterator_tag t5;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator.cc
deleted file mode 100644 (file)
index 951d329..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
-
-// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 24.4.2.5 Template class insert_iterator
-
-#include <iterator>
-#include <list>
-
-void test01()
-{
-  using namespace std;
-
-  // Check for required base class.
-  list<int> l;
-  list<int>::iterator li = l.begin();
-
-  typedef insert_iterator<list<int> > test_iterator;
-  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
-  test_iterator  r_it(l, li);
-  base_iterator* base __attribute__((unused)) = &r_it;
-
-  // Check for required typedefs
-  typedef test_iterator::value_type value_type;
-  typedef test_iterator::difference_type difference_type;
-  typedef test_iterator::pointer pointer;
-  typedef test_iterator::reference reference;
-  typedef test_iterator::iterator_category iteratory_category;
-  typedef test_iterator::container_type container_type;
-}
-
-
-
-// Make sure iterator can be instantiated.
-template class std::insert_iterator<std::list<int> >;
-
-void test02()
-{
-  typedef std::insert_iterator<std::list<int> > iterator_type;
-
-  std::list<int> li;
-  std::list<int>::iterator liit = li.begin();
-  iterator_type it01(li, liit);
-  iterator_type it02 = std::inserter(li, liit);
-}
-
-// Check data member 'container' accessible.
-class test_dm : public std::insert_iterator<std::list<int> >
-{
-  container_type l;
-  container_type::iterator i;
-  container_type* p;
-public:
-  test_dm(): std::insert_iterator<std::list<int> >(l, i), p(container) { }
-};
-
-int main() 
-{ 
-  test01();
-  test02();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/2.cc
new file mode 100644 (file)
index 0000000..4a8222a
--- /dev/null
@@ -0,0 +1,40 @@
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.5 Template class insert_iterator
+
+#include <iterator>
+#include <list>
+
+void test02()
+{
+  typedef std::insert_iterator<std::list<int> > iterator_type;
+
+  std::list<int> li;
+  std::list<int>::iterator liit = li.begin();
+  iterator_type it01(li, liit);
+  iterator_type it02 = std::inserter(li, liit);
+}
+
+int main() 
+{ 
+  test02();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/base_classes.cc
new file mode 100644 (file)
index 0000000..5becd2e
--- /dev/null
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.5 Template class insert_iterator
+
+#include <iterator>
+#include <list>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required base class.
+  list<int> l;
+  list<int>::iterator li = l.begin();
+
+  typedef insert_iterator<list<int> > test_iterator;
+  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
+  test_iterator  r_it(l, li);
+  base_iterator* base __attribute__((unused)) = &r_it;
+}
+
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/container.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/container.cc
new file mode 100644 (file)
index 0000000..b4efd62
--- /dev/null
@@ -0,0 +1,35 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.5 Template class insert_iterator
+
+#include <iterator>
+#include <list>
+
+// Check data member 'container' accessible.
+class test_dm : public std::insert_iterator<std::list<int> >
+{
+  container_type l;
+  container_type::iterator i;
+  container_type* p;
+public:
+  test_dm(): std::insert_iterator<std::list<int> >(l, i), p(container) { }
+};
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..d056073
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.5 Template class insert_iterator
+
+#include <iterator>
+#include <list>
+
+// Make sure iterator can be instantiated.
+template class std::insert_iterator<std::list<int> >;
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..7ebed33
--- /dev/null
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.2.5 Template class insert_iterator
+
+#include <iterator>
+#include <list>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required typedefs
+  typedef insert_iterator<list<int> > test_iterator;
+  typedef test_iterator::value_type value_type;
+  typedef test_iterator::difference_type difference_type;
+  typedef test_iterator::pointer pointer;
+  typedef test_iterator::reference reference;
+  typedef test_iterator::iterator_category iteratory_category;
+  typedef test_iterator::container_type container_type;
+}
+
similarity index 69%
rename from libstdc++-v3/testsuite/24_iterators/istream_iterator.cc
rename to libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc
index db57f665d134f8b447a7aa2073d1f983c7b52955..ea26105b43d2a93ffb78d5b4ac764c9631691161 100644 (file)
 #include <sstream>
 #include <testsuite_hooks.h>
 
-void test01()
-{
-  using namespace std;
-
-  // Check for required base class.
-  typedef istream_iterator<long> test_iterator;
-  typedef iterator<input_iterator_tag, long, ptrdiff_t, const long*, 
-                  const long&> base_iterator;
-  test_iterator  r_it;
-  base_iterator* base __attribute__((unused)) = &r_it;
-
-  // Check for required typedefs
-  typedef test_iterator::value_type value_type;
-  typedef test_iterator::difference_type difference_type;
-  typedef test_iterator::pointer pointer;
-  typedef test_iterator::reference reference;
-  typedef test_iterator::iterator_category iteratory_category;
-
-  typedef test_iterator::char_type char_type;
-  typedef test_iterator::traits_type traits_type;
-  typedef test_iterator::istream_type istream_type;
-}
-
-// Instantiate
-template class std::istream_iterator<char>;
-
 void test02()
 {
   using namespace std;
@@ -86,7 +60,6 @@ void test02()
 
 int main() 
 { 
-  test01();
   test02();
   return 0;
 }
diff --git a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc
new file mode 100644 (file)
index 0000000..c51013e
--- /dev/null
@@ -0,0 +1,38 @@
+// { dg-do compile }
+// 2001-06-25  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.5.1 Template class istream_iterator
+
+#include <iterator>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required base class.
+  typedef istream_iterator<long> test_iterator;
+  typedef iterator<input_iterator_tag, long, ptrdiff_t, const long*, 
+                  const long&> base_iterator;
+  test_iterator  r_it;
+  base_iterator* base __attribute__((unused)) = &r_it;
+}
similarity index 77%
rename from libstdc++-v3/testsuite/17_intro/header_cstring.cc
rename to libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc
index 0f58fc935e7dfcb8c6588b6e00ab4bb8d56d7d40..04f7bd9f4696a064005da087de7821461b9017ab 100644 (file)
@@ -1,4 +1,5 @@
-// 2000-01-01 bkoz
+// { dg-do compile }
+// 2001-06-25  Benjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2001, 2003 Free Software Foundation, Inc.
 //
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, cstring
+// 24.5.1 Template class istream_iterator
 
-#include <cstring>
+#include <iterator>
+#include <sstream>
+#include <testsuite_hooks.h>
 
-
-int main(void)
-{
-  // Make sure size_t is in namespace std
-  std::size_t i __attribute__((unused)) = std::strlen("tibet shop/san francisco (415) 982-0326");
-  return 0;
-}
+// Instantiate
+template class std::istream_iterator<char>;
diff --git a/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..17b540c
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+// 2001-06-25  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.5.1 Template class istream_iterator
+
+#include <iterator>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required typedefs
+  typedef istream_iterator<long> test_iterator;
+  typedef test_iterator::value_type value_type;
+  typedef test_iterator::difference_type difference_type;
+  typedef test_iterator::pointer pointer;
+  typedef test_iterator::reference reference;
+  typedef test_iterator::iterator_category iteratory_category;
+
+  typedef test_iterator::char_type char_type;
+  typedef test_iterator::traits_type traits_type;
+  typedef test_iterator::istream_type istream_type;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc
new file mode 100644 (file)
index 0000000..c1ee75c
--- /dev/null
@@ -0,0 +1,40 @@
+// { dg-do compile }
+// 1999-06-28 bkoz
+
+// Copyright (C) 1999, 2001, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.5.3 template class istreambuf_iterator
+
+#include <sstream>
+#include <iterator>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required base class.
+  typedef istreambuf_iterator<char> test_iterator;
+  typedef char_traits<char>::off_type off_type;
+  typedef iterator<input_iterator_tag, char, off_type, char*, char&> base_iterator;
+
+  istringstream isstream("this tag");
+  test_iterator  r_it(isstream);
+  base_iterator* base __attribute__((unused)) = &r_it;
+}
similarity index 79%
rename from libstdc++-v3/testsuite/17_intro/header_sstream.cc
rename to libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/explicit_instantiation.cc
index d8689aedae330376c03c8a2fa033b84a2dd94042..a9560f011ef060266ac2cf63256e8abae23ca4f5 100644 (file)
@@ -1,6 +1,7 @@
-// 1999-07-01 bkoz
+// { dg-do compile }
+// 1999-06-28 bkoz
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2001, 2003 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, sstream
+// 24.5.3 template class istreambuf_iterator
 
 #include <sstream>
+#include <iterator>
 #include <testsuite_hooks.h>
 
-
-int main(void)
-{
-  return 0;
-}
+template class std::istreambuf_iterator<char>;
similarity index 84%
rename from libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/1.cc
rename to libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc
index 3d3fec42409aa3184df7b63480037bfbf55f70f8..810163d2d4d7650f371d05c931b9c49db12351d3 100644 (file)
@@ -29,16 +29,8 @@ void test01()
 {
   using namespace std;
 
-  // Check for required base class.
-  typedef istreambuf_iterator<char> test_iterator;
-  typedef char_traits<char>::off_type off_type;
-  typedef iterator<input_iterator_tag, char, off_type, char*, char&> base_iterator;
-
-  istringstream isstream("this tag");
-  test_iterator  r_it(isstream);
-  base_iterator* base __attribute__((unused)) = &r_it;
-
   // Check for required typedefs
+  typedef istreambuf_iterator<char> test_iterator;
   typedef test_iterator::value_type value_type;
   typedef test_iterator::difference_type difference_type;
   typedef test_iterator::pointer pointer;
diff --git a/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc
new file mode 100644 (file)
index 0000000..f8980f3
--- /dev/null
@@ -0,0 +1,38 @@
+// { dg-do compile }
+// 2001-06-25  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.5.4 Template class ostream_iterator
+
+#include <iterator>
+#include <ostream>
+#include <sstream>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required base class.
+  typedef ostream_iterator<long> test_iterator;
+  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
+  ostringstream osstream("this tag");
+  test_iterator  r_it(osstream);
+  base_iterator* base __attribute__((unused)) = &r_it;
+}
similarity index 73%
rename from libstdc++-v3/testsuite/17_intro/header_cstdio.cc
rename to libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/explicit_instantiation.cc
index 688df8d0840d2e0fd9313e878ff325d6e3a62452..0c7644c7704e10f9e317bfd41662843732771d8e 100644 (file)
@@ -1,6 +1,7 @@
-// 2000-01-01 bkoz
+// { dg-do compile }
+// 2001-06-25  Benjamin Kosnik  <bkoz@redhat.com>
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, cstdio
+// 24.5.4 Template class ostream_iterator
 
-#include <cstdio>
+#include <iterator>
+#include <ostream>
+#include <sstream>
 
-int main(void)
-{
-  // Make sure size_t is in namespace std
-  std::size_t i __attribute__((unused)) = 5;
-  return 0;
-}
+// Instantiate
+template class std::ostream_iterator<char>;
similarity index 81%
rename from libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc
rename to libstdc++-v3/testsuite/24_iterators/ostream_iterator/requirements/typedefs.cc
index 6e291f167eacba051ce90f7e6d31ca9f32fac69d..d7a0835683dd9cbf2469bd2a5bf3e6df5cc27ab0 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2001-06-25  Benjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2001 Free Software Foundation, Inc.
@@ -28,14 +29,8 @@ void test01()
 {
   using namespace std;
 
-  // Check for required base class.
-  typedef ostream_iterator<long> test_iterator;
-  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
-  ostringstream osstream("this tag");
-  test_iterator  r_it(osstream);
-  base_iterator* base __attribute__((unused)) = &r_it;
-
   // Check for required typedefs
+  typedef ostream_iterator<long> test_iterator;
   typedef test_iterator::value_type value_type;
   typedef test_iterator::difference_type difference_type;
   typedef test_iterator::pointer pointer;
@@ -46,12 +41,3 @@ void test01()
   typedef test_iterator::traits_type traits_type;
   typedef test_iterator::ostream_type ostream_type;
 }
-
-// Instantiate
-template class std::ostream_iterator<char>;
-
-int main() 
-{ 
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc
new file mode 100644 (file)
index 0000000..1fe0a8f
--- /dev/null
@@ -0,0 +1,38 @@
+// { dg-do compile }
+// 2001-04-30  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.5.4 template class ostreambuf_iterator
+
+#include <sstream>
+#include <iterator>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required base class.
+  typedef ostreambuf_iterator<char> test_iterator;
+  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
+  ostringstream osstream("this tag");
+  test_iterator  r_it(osstream);
+  base_iterator* base __attribute__((unused)) = &r_it;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..c46caae
--- /dev/null
@@ -0,0 +1,35 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <iterator>
+#include <sstream>
+
+template class std::ostreambuf_iterator<char>;
similarity index 86%
rename from libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/1.cc
rename to libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc
index e62413436812dfdf102173a81ff2b53cbec35fd8..bc0266b50ebd777f7f6f64710f5499b0a2fb3806 100644 (file)
@@ -29,14 +29,8 @@ void test01()
 {
   using namespace std;
 
-  // Check for required base class.
-  typedef ostreambuf_iterator<char> test_iterator;
-  typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
-  ostringstream osstream("this tag");
-  test_iterator  r_it(osstream);
-  base_iterator* base __attribute__((unused)) = &r_it;
-
   // Check for required typedefs
+  typedef ostreambuf_iterator<char> test_iterator;
   typedef test_iterator::value_type value_type;
   typedef test_iterator::difference_type difference_type;
   typedef test_iterator::pointer pointer;
index 225390cd82c56478fdaafe596ef5ab9af001f0e6..481c209adf07557bb472e64892087966d1906833 100644 (file)
@@ -39,14 +39,6 @@ void test02()
   5 + it02;
 }
 
-// Check data member 'current' accessible.
-class test_dm : public std::reverse_iterator<int*>
-{
-  int* p;
-public:
-  test_dm(): p(current) { }
-};
-
 int main() 
 { 
   test02();
similarity index 79%
rename from libstdc++-v3/testsuite/24_iterators/reverse_iterator/1.cc
rename to libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc
index 70c4e41a655a249528788de04fddab9d2e286295..9029df0f699489aab0826c996bd617e12eefeaa9 100644 (file)
@@ -38,14 +38,4 @@ void test01()
     base_iterator;
   test_iterator  r_it(&l);
   base_iterator* base __attribute__((unused)) = &r_it;
-
-  // Check for required typedefs
-  typedef test_iterator::value_type value_type;
-  typedef test_iterator::difference_type difference_type;
-  typedef test_iterator::pointer pointer;
-  typedef test_iterator::reference reference;
-  typedef test_iterator::iterator_category iteratory_category;
 }
-
-// Make sure iterator can be instantiated.
-template class std::reverse_iterator<int*>;
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/current.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/current.cc
new file mode 100644 (file)
index 0000000..0981dbf
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.1.2 Reverse iterators
+
+#include <iterator>
+
+// Check data member 'current' accessible.
+class test_dm : public std::reverse_iterator<int*>
+{
+  int* p;
+public:
+  test_dm(): p(current) { }
+};
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..f0e2351
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.1.2 Reverse iterators
+
+#include <iterator>
+
+// Make sure iterator can be instantiated.
+template class std::reverse_iterator<int*>;
diff --git a/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/typedefs.cc b/libstdc++-v3/testsuite/24_iterators/reverse_iterator/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..d987044
--- /dev/null
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// 2001-06-21  Benjamin Kosnik  <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 24.4.1.2 Reverse iterators
+
+#include <iterator>
+
+void test01()
+{
+  using namespace std;
+
+  // Check for required typedefs
+  typedef reverse_iterator<long*> test_iterator;
+  typedef test_iterator::value_type value_type;
+  typedef test_iterator::difference_type difference_type;
+  typedef test_iterator::pointer pointer;
+  typedef test_iterator::reference reference;
+  typedef test_iterator::iterator_category iteratory_category;
+}
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc
new file mode 100644 (file)
index 0000000..032fa31
--- /dev/null
@@ -0,0 +1,404 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <algorithm>
+
+namespace std {
+  // 25.1, non-modifying sequence operations:
+  template<class InputIterator, class Function>
+    Function for_each(InputIterator first, InputIterator last, Function f);
+  template<class InputIterator, class T>
+    InputIterator find(InputIterator first, InputIterator last,
+                               const T& value);
+  template<class InputIterator, class Predicate>
+    InputIterator find_if(InputIterator first, InputIterator last,
+                                   Predicate pred);
+  template<class ForwardIterator1, class ForwardIterator2>
+    ForwardIterator1
+       find_end(ForwardIterator1 first1, ForwardIterator1 last1,
+                    ForwardIterator2 first2, ForwardIterator2 last2);
+  template<class ForwardIterator1, class ForwardIterator2,
+               class BinaryPredicate>
+    ForwardIterator1
+       find_end(ForwardIterator1 first1, ForwardIterator1 last1,
+                    ForwardIterator2 first2, ForwardIterator2 last2,
+                    BinaryPredicate pred);
+  template<class ForwardIterator1, class ForwardIterator2>
+    ForwardIterator1
+       find_first_of(ForwardIterator1 first1, ForwardIterator1 last1,
+                           ForwardIterator2 first2, ForwardIterator2 last2);
+  template<class ForwardIterator1, class ForwardIterator2,
+               class BinaryPredicate>
+    ForwardIterator1
+       find_first_of(ForwardIterator1 first1, ForwardIterator1 last1,
+                    ForwardIterator2 first2, ForwardIterator2 last2,
+                    BinaryPredicate pred);
+
+template<class ForwardIterator>
+  ForwardIterator adjacent_find(ForwardIterator first,
+                                ForwardIterator last);
+
+template<class ForwardIterator, class BinaryPredicate>
+  ForwardIterator adjacent_find(ForwardIterator first,
+      ForwardIterator last, BinaryPredicate pred);
+
+template<class InputIterator, class T>
+  typename iterator_traits<InputIterator>::difference_type
+    count(InputIterator first, InputIterator last, const T& value);
+
+template<class InputIterator, class Predicate>
+  typename iterator_traits<InputIterator>::difference_type
+    count_if(InputIterator first, InputIterator last, Predicate pred);
+template<class InputIterator1, class InputIterator2>
+  pair<InputIterator1, InputIterator2>
+    mismatch(InputIterator1 first1, InputIterator1 last1,
+             InputIterator2 first2);
+template
+ <class InputIterator1, class InputIterator2, class BinaryPredicate>
+  pair<InputIterator1, InputIterator2>
+    mismatch(InputIterator1 first1, InputIterator1 last1,
+      InputIterator2 first2, BinaryPredicate pred);
+template<class InputIterator1, class InputIterator2>
+  bool equal(InputIterator1 first1, InputIterator1 last1,
+             InputIterator2 first2);
+template
+ <class InputIterator1, class InputIterator2, class BinaryPredicate>
+  bool equal(InputIterator1 first1, InputIterator1 last1,
+             InputIterator2 first2, BinaryPredicate pred);
+
+template<class ForwardIterator1, class ForwardIterator2>
+  ForwardIterator1 search
+    (ForwardIterator1 first1, ForwardIterator1 last1,
+     ForwardIterator2 first2, ForwardIterator2 last2);
+
+template<class ForwardIterator1, class ForwardIterator2,
+         class BinaryPredicate>
+  ForwardIterator1 search
+    (ForwardIterator1 first1, ForwardIterator1 last1,
+     ForwardIterator2 first2, ForwardIterator2 last2,
+                          BinaryPredicate pred);
+
+template<class ForwardIterator, class Size, class T>
+  ForwardIterator search_n(ForwardIterator first, ForwardIterator last,
+                          Size count, const T& value);
+
+template <class ForwardIterator, class Size, class T, class BinaryPredicate>
+  ForwardIterator search_n(ForwardIterator first, ForwardIterator last,
+                          Size count, const T& value,
+                          BinaryPredicate pred);
+
+// 25.2, modifying sequence operations:
+// 25.2.1, copy:
+template<class InputIterator, class OutputIterator>
+  OutputIterator copy(InputIterator first, InputIterator last,
+                               OutputIterator result);
+template<class BidirectionalIterator1, class BidirectionalIterator2>
+  BidirectionalIterator2
+     copy_backward
+         (BidirectionalIterator1 first, BidirectionalIterator1 last,
+          BidirectionalIterator2 result);
+// 25.2.2, swap:
+template<class T> void swap(T& a, T& b);
+template<class ForwardIterator1, class ForwardIterator2>
+  ForwardIterator2 swap_ranges(ForwardIterator1 first1,
+         ForwardIterator1 last1, ForwardIterator2 first2);
+template<class ForwardIterator1, class ForwardIterator2>
+  void iter_swap(ForwardIterator1 a, ForwardIterator2 b);
+template<class InputIterator, class OutputIterator, class UnaryOperation>
+  OutputIterator transform(InputIterator first, InputIterator last,
+                                      OutputIterator result, UnaryOperation op);
+template<class InputIterator1, class InputIterator2, class OutputIterator,
+             class BinaryOperation>
+  OutputIterator transform(InputIterator1 first1, InputIterator1 last1,
+                                      InputIterator2 first2, OutputIterator result,
+                                      BinaryOperation binary_op);
+template<class ForwardIterator, class T>
+  void replace(ForwardIterator first, ForwardIterator last,
+                     const T& old_value, const T& new_value);
+template<class ForwardIterator, class Predicate, class T>
+  void replace_if(ForwardIterator first, ForwardIterator last,
+                         Predicate pred, const T& new_value);
+template<class InputIterator, class OutputIterator, class T>
+  OutputIterator replace_copy(InputIterator first, InputIterator last,
+                                         OutputIterator result,
+                                         const T& old_value, const T& new_value);
+template<class Iterator, class OutputIterator, class Predicate, class T>
+  OutputIterator replace_copy_if(Iterator first, Iterator last,
+                                            OutputIterator result,
+                                            Predicate pred, const T& new_value);
+template<class ForwardIterator, class T>
+  void fill(ForwardIterator first, ForwardIterator last, const T& value);
+template<class OutputIterator, class Size, class T>
+  void fill_n(OutputIterator first, Size n, const T& value);
+template<class ForwardIterator, class Generator>
+  void generate(ForwardIterator first, ForwardIterator last,
+                       Generator gen);
+template<class OutputIterator, class Size, class Generator>
+  void generate_n(OutputIterator first, Size n, Generator gen);
+
+template<class ForwardIterator, class T>
+  ForwardIterator remove(ForwardIterator first, ForwardIterator last,
+                                const T& value);
+template<class ForwardIterator, class Predicate>
+  ForwardIterator remove_if(ForwardIterator first, ForwardIterator last,
+                                   Predicate pred);
+template<class InputIterator, class OutputIterator, class T>
+  OutputIterator remove_copy(InputIterator first, InputIterator last,
+                                    OutputIterator result, const T& value);
+template<class InputIterator, class OutputIterator, class Predicate>
+  OutputIterator remove_copy_if(InputIterator first, InputIterator last,
+                                       OutputIterator result, Predicate pred);
+template<class ForwardIterator>
+  ForwardIterator unique(ForwardIterator first, ForwardIterator last);
+template<class ForwardIterator, class BinaryPredicate>
+  ForwardIterator unique(ForwardIterator first, ForwardIterator last,
+                                BinaryPredicate pred);
+template<class InputIterator, class OutputIterator>
+  OutputIterator unique_copy(InputIterator first, InputIterator last,
+                                    OutputIterator result);
+template<class InputIterator, class OutputIterator, class BinaryPredicate>
+  OutputIterator unique_copy(InputIterator first, InputIterator last,
+                                    OutputIterator result, BinaryPredicate pred);
+template<class BidirectionalIterator>
+  void reverse(BidirectionalIterator first, BidirectionalIterator last);
+template<class BidirectionalIterator, class OutputIterator>
+  OutputIterator reverse_copy(BidirectionalIterator first,
+                                     BidirectionalIterator last,
+                                     OutputIterator result);
+template<class ForwardIterator>
+  void rotate(ForwardIterator first, ForwardIterator middle,
+                     ForwardIterator last);
+template<class ForwardIterator, class OutputIterator>
+  OutputIterator rotate_copy
+     (ForwardIterator first, ForwardIterator middle,
+       ForwardIterator last, OutputIterator result);
+template<class RandomAccessIterator>
+  void random_shuffle(RandomAccessIterator first,
+                             RandomAccessIterator last);
+template<class RandomAccessIterator, class RandomNumberGenerator>
+  void random_shuffle(RandomAccessIterator first,
+                             RandomAccessIterator last,
+                             RandomNumberGenerator& rand);
+// 25.2.12, partitions:
+template<class BidirectionalIterator, class Predicate>
+  BidirectionalIterator partition(BidirectionalIterator first,
+                                         BidirectionalIterator last,
+                                         Predicate pred);
+template<class BidirectionalIterator, class Predicate>
+  BidirectionalIterator stable_partition(BidirectionalIterator first,
+                                                 BidirectionalIterator last,
+                                                Predicate pred);
+// 25.3, sorting and related operations:
+// 25.3.1, sorting:
+template<class RandomAccessIterator>
+  void sort(RandomAccessIterator first, RandomAccessIterator last);
+template<class RandomAccessIterator, class Compare>
+  void sort(RandomAccessIterator first, RandomAccessIterator last,
+                  Compare comp);
+template<class RandomAccessIterator>
+  void stable_sort(RandomAccessIterator first, RandomAccessIterator last);
+template<class RandomAccessIterator, class Compare>
+  void stable_sort(RandomAccessIterator first, RandomAccessIterator last,
+                            Compare comp);
+template<class RandomAccessIterator>
+  void partial_sort(RandomAccessIterator first,
+                              RandomAccessIterator middle,
+                              RandomAccessIterator last);
+template<class RandomAccessIterator, class Compare>
+  void partial_sort(RandomAccessIterator first,
+                              RandomAccessIterator middle,
+                              RandomAccessIterator last, Compare comp);
+template<class InputIterator, class RandomAccessIterator>
+  RandomAccessIterator
+     partial_sort_copy(InputIterator first, InputIterator last,
+                                RandomAccessIterator result_first,
+                                RandomAccessIterator result_last);
+template<class InputIterator, class RandomAccessIterator, class Compare>
+  RandomAccessIterator
+     partial_sort_copy(InputIterator first, InputIterator last,
+                                RandomAccessIterator result_first,
+                                RandomAccessIterator result_last,
+                                Compare comp);
+template<class RandomAccessIterator>
+  void nth_element(RandomAccessIterator first, RandomAccessIterator nth,
+                            RandomAccessIterator last);
+template<class RandomAccessIterator, class Compare>
+  void nth_element(RandomAccessIterator first, RandomAccessIterator nth,
+                            RandomAccessIterator last, Compare comp);
+// 25.3.3, binary search:
+template<class ForwardIterator, class T>
+  ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last,
+                                         const T& value);
+template<class ForwardIterator, class T, class Compare>
+  ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last,
+                                         const T& value, Compare comp);
+template<class ForwardIterator, class T>
+  ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last,
+                                         const T& value);
+template<class ForwardIterator, class T, class Compare>
+  ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last,
+                                         const T& value, Compare comp);
+template<class ForwardIterator, class T>
+  pair<ForwardIterator, ForwardIterator>
+     equal_range(ForwardIterator first, ForwardIterator last,
+                        const T& value);
+template<class ForwardIterator, class T, class Compare>
+  pair<ForwardIterator, ForwardIterator>
+     equal_range(ForwardIterator first, ForwardIterator last,
+                        const T& value, Compare comp);
+template<class ForwardIterator, class T>
+  bool binary_search(ForwardIterator first, ForwardIterator last,
+                             const T& value);
+template<class ForwardIterator, class T, class Compare>
+  bool binary_search(ForwardIterator first, ForwardIterator last,
+                             const T& value, Compare comp);
+// 25.3.4, merge:
+template<class InputIterator1, class InputIterator2, class OutputIterator>
+  OutputIterator merge(InputIterator1 first1, InputIterator1 last1,
+                               InputIterator2 first2, InputIterator2 last2,
+                               OutputIterator result);
+template<class InputIterator1, class InputIterator2, class OutputIterator,
+             class Compare>
+  OutputIterator merge(InputIterator1 first1, InputIterator1 last1,
+                               InputIterator2 first2, InputIterator2 last2,
+                               OutputIterator result, Compare comp);
+template<class BidirectionalIterator>
+  void inplace_merge(BidirectionalIterator first,
+                             BidirectionalIterator middle,
+                             BidirectionalIterator last);
+template<class BidirectionalIterator, class Compare>
+  void inplace_merge(BidirectionalIterator first,
+                             BidirectionalIterator middle,
+                             BidirectionalIterator last, Compare comp);
+// 25.3.5, set operations:
+template<class InputIterator1, class InputIterator2>
+  bool includes(InputIterator1 first1, InputIterator1 last1,
+                        InputIterator2 first2, InputIterator2 last2);
+template<class InputIterator1, class InputIterator2, class Compare>
+  bool includes
+     (InputIterator1 first1, InputIterator1 last1,
+       InputIterator2 first2, InputIterator2 last2, Compare comp);
+template<class InputIterator1, class InputIterator2, class OutputIterator>
+  OutputIterator set_union(InputIterator1 first1, InputIterator1 last1,
+                                   InputIterator2 first2, InputIterator2 last2,
+                                   OutputIterator result);
+template<class InputIterator1, class InputIterator2, class OutputIterator,
+             class Compare>
+  OutputIterator set_union(InputIterator1 first1, InputIterator1 last1,
+                                   InputIterator2 first2, InputIterator2 last2,
+                                   OutputIterator result, Compare comp);
+template<class InputIterator1, class InputIterator2, class OutputIterator>
+  OutputIterator set_intersection
+        (InputIterator1 first1, InputIterator1 last1,
+          InputIterator2 first2, InputIterator2 last2,
+          OutputIterator result);
+template<class InputIterator1, class InputIterator2, class OutputIterator,
+             class Compare>
+  OutputIterator set_intersection
+        (InputIterator1 first1, InputIterator1 last1,
+          InputIterator2 first2, InputIterator2 last2,
+          OutputIterator result, Compare comp);
+template<class InputIterator1, class InputIterator2, class OutputIterator>
+  OutputIterator set_difference
+        (InputIterator1 first1, InputIterator1 last1,
+          InputIterator2 first2, InputIterator2 last2,
+          OutputIterator result);
+template<class InputIterator1, class InputIterator2, class OutputIterator,
+             class Compare>
+  OutputIterator set_difference
+        (InputIterator1 first1, InputIterator1 last1,
+          InputIterator2 first2, InputIterator2 last2,
+          OutputIterator result, Compare comp);
+template<class InputIterator1, class InputIterator2, class OutputIterator>
+  OutputIterator
+     set_symmetric_difference(InputIterator1 first1, InputIterator1 last1,
+                                    InputIterator2 first2, InputIterator2 last2,
+                                    OutputIterator result);
+template<class InputIterator1, class InputIterator2, class OutputIterator,
+              class Compare>
+  OutputIterator
+     set_symmetric_difference(InputIterator1 first1, InputIterator1 last1,
+                                    InputIterator2 first2, InputIterator2 last2,
+                                    OutputIterator result, Compare comp);
+// 25.3.6, heap operations:
+template<class RandomAccessIterator>
+  void push_heap(RandomAccessIterator first, RandomAccessIterator last);
+template<class RandomAccessIterator, class Compare>
+  void push_heap(RandomAccessIterator first, RandomAccessIterator last,
+                        Compare comp);
+template<class RandomAccessIterator>
+  void pop_heap(RandomAccessIterator first, RandomAccessIterator last);
+template<class RandomAccessIterator, class Compare>
+  void pop_heap(RandomAccessIterator first, RandomAccessIterator last,
+                       Compare comp);
+template<class RandomAccessIterator>
+  void make_heap(RandomAccessIterator first, RandomAccessIterator last);
+template<class RandomAccessIterator, class Compare>
+  void make_heap(RandomAccessIterator first, RandomAccessIterator last,
+                        Compare comp);
+template<class RandomAccessIterator>
+  void sort_heap(RandomAccessIterator first, RandomAccessIterator last);
+template<class RandomAccessIterator, class Compare>
+  void sort_heap(RandomAccessIterator first, RandomAccessIterator last,
+                        Compare comp);
+
+  // 25.3.7, minimum and maximum:
+  template<class T> const T& min(const T& a, const T& b);
+  template<class T, class Compare>
+    const T& min(const T& a, const T& b, Compare comp);
+  template<class T> const T& max(const T& a, const T& b);
+  template<class T, class Compare>
+    const T& max(const T& a, const T& b, Compare comp);
+  template<class ForwardIterator>
+    ForwardIterator min_element
+       (ForwardIterator first, ForwardIterator last);
+  template<class ForwardIterator, class Compare>
+    ForwardIterator min_element(ForwardIterator first, ForwardIterator last,
+                                     Compare comp);
+  template<class ForwardIterator>
+    ForwardIterator max_element
+       (ForwardIterator first, ForwardIterator last);
+  template<class ForwardIterator, class Compare>
+    ForwardIterator max_element(ForwardIterator first, ForwardIterator last,
+                                     Compare comp);
+  template<class InputIterator1, class InputIterator2>
+    bool lexicographical_compare
+          (InputIterator1 first1, InputIterator1 last1,
+            InputIterator2 first2, InputIterator2 last2);
+  template<class InputIterator1, class InputIterator2, class Compare>
+    bool lexicographical_compare
+          (InputIterator1 first1, InputIterator1 last1,
+            InputIterator2 first2, InputIterator2 last2,
+            Compare comp);
+
+  // 25.3.9, permutations
+  template<class BidirectionalIterator>
+    bool next_permutation(BidirectionalIterator first,
+                                 BidirectionalIterator last);
+  template<class BidirectionalIterator, class Compare>
+    bool next_permutation(BidirectionalIterator first,
+                                 BidirectionalIterator last, Compare comp);
+  template<class BidirectionalIterator>
+    bool prev_permutation(BidirectionalIterator first,
+                                 BidirectionalIterator last);
+  template<class BidirectionalIterator, class Compare>
+    bool prev_permutation(BidirectionalIterator first,
+                                 BidirectionalIterator last, Compare comp);
+}
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/25_algorithms/headers/cstdlib/functions_std.cc
new file mode 100644 (file)
index 0000000..fcbf50b
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdlib>
+
+namespace gnu
+{
+  using std::bsearch;
+  using std::qsort;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std.cc
new file mode 100644 (file)
index 0000000..046b57f
--- /dev/null
@@ -0,0 +1,47 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cmath>
+
+namespace gnu
+{
+  using std::acos;
+  using std::asin;
+  using std::atan;
+  using std::atan2;
+  using std::ceil;
+  using std::cos;
+  using std::cosh;
+  using std::exp;
+  using std::fabs;
+  using std::floor;
+  using std::fmod;
+  using std::frexp;
+  using std::ldexp;
+  using std::log;
+  using std::log10;
+  using std::modf;
+  using std::pow;
+  using std::sin;
+  using std::sinh;
+  using std::sqrt;
+  using std::tan;
+  using std::tanh;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/macros.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/macros.cc
new file mode 100644 (file)
index 0000000..5b70b0e
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cmath>
+
+namespace gnu
+{
+#ifndef HUGE_VAL
+    #error "HUGE_VAL_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc b/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc
new file mode 100644 (file)
index 0000000..8fba3a3
--- /dev/null
@@ -0,0 +1,88 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <complex>
+
+namespace std {
+  template<class T> class complex;
+  template<> class complex<float>;
+  template<> class complex<double>;
+  template<> class complex<long double>;
+
+  // 26.2.6 operators:
+  template<class T>
+    complex<T> operator+(const complex<T>&, const complex<T>&);
+  template<class T> complex<T> operator+(const complex<T>&, const T&);
+  template<class T> complex<T> operator+(const T&, const complex<T>&);
+  template<class T> complex<T> operator-
+    (const complex<T>&, const complex<T>&);
+  template<class T> complex<T> operator-(const complex<T>&, const T&);
+  template<class T> complex<T> operator-(const T&, const complex<T>&);
+  template<class T> complex<T> operator*
+    (const complex<T>&, const complex<T>&);
+  template<class T> complex<T> operator*(const complex<T>&, const T&);
+  template<class T> complex<T> operator*(const T&, const complex<T>&);
+  template<class T> complex<T> operator/
+    (const complex<T>&, const complex<T>&);
+  template<class T> complex<T> operator/(const complex<T>&, const T&);
+  template<class T> complex<T> operator/(const T&, const complex<T>&);
+  template<class T> complex<T> operator+(const complex<T>&);
+  template<class T> complex<T> operator-(const complex<T>&);
+  template<class T> bool operator==
+    (const complex<T>&, const complex<T>&);
+  template<class T> bool operator==(const complex<T>&, const T&);
+  template<class T> bool operator==(const T&, const complex<T>&);
+
+
+  template<class T> bool operator!=(const complex<T>&, const complex<T>&);
+  template<class T> bool operator!=(const complex<T>&, const T&);
+  template<class T> bool operator!=(const T&, const complex<T>&);
+  template<class T, class charT, class traits>
+  basic_istream<charT, traits>&
+  operator>>(basic_istream<charT, traits>&, complex<T>&);
+  template<class T, class charT, class traits>
+  basic_ostream<charT, traits>&
+  operator<<(basic_ostream<charT, traits>&, const complex<T>&);
+
+  // 26.2.7 values:
+  template<class T> T real(const complex<T>&);
+  template<class T> T imag(const complex<T>&);
+  template<class T> T abs(const complex<T>&);
+  template<class T> T arg(const complex<T>&);
+  template<class T> T norm(const complex<T>&);
+  template<class T> complex<T> conj(const complex<T>&);
+  template<class T> complex<T> polar(const T& rho, const T& theta = 0);
+
+  // 26.2.8 transcendentals:
+  template<class T> complex<T> cos(const  complex<T>&);
+  template<class T> complex<T> cosh(const complex<T>&);
+  template<class T> complex<T> exp(const  complex<T>&);
+  template<class T> complex<T> log(const  complex<T>&);
+  template<class T> complex<T> log10(const complex<T>&);
+  template<class T> complex<T> pow(const complex<T>&, int);
+  template<class T> complex<T> pow(const complex<T>&, const T&);
+  template<class T> complex<T> pow(const complex<T>&, const complex<T>&);
+  template<class T> complex<T> pow(const T&, const complex<T>&);
+  template<class T> complex<T> sin (const complex<T>&);
+  template<class T> complex<T> sinh(const complex<T>&);
+  template<class T> complex<T> sqrt(const complex<T>&);
+  template<class T> complex<T> tan(const complex<T>&);
+  template<class T> complex<T> tanh(const complex<T>&);
+}
similarity index 90%
rename from libstdc++-v3/testsuite/17_intro/header_cstdlib.cc
rename to libstdc++-v3/testsuite/26_numerics/headers/cstdlib/2190.cc
index 82e21b6f0128ca2763ece6ba4fae1276f6d4d316..badcecee8a1d5126c46753a4faefe4f7b7008ac7 100644 (file)
@@ -30,15 +30,8 @@ void test01()
   std::ldiv_t b __attribute__((unused));
 }
 
-void test02()
-{
-  // Make sure size_t is in namespace std.
-  std::size_t i __attribute__((unused)) = 5;
-}
-
 int main()
 {
   test01();
-  test02();
   return 0;
 }
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/functions_std.cc
new file mode 100644 (file)
index 0000000..6b5d308
--- /dev/null
@@ -0,0 +1,31 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdlib>
+
+namespace gnu
+{
+  using std::abs;
+  using std::div;
+  using std::labs;
+  using std::ldiv;
+  using std::srand;
+  using std::rand;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/macros.cc
new file mode 100644 (file)
index 0000000..dc8231a
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdlib>
+
+namespace gnu
+{
+#ifndef RAND_MAX
+    #error "RAND_MAX_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std.cc
new file mode 100644 (file)
index 0000000..6af857d
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdlib>
+
+namespace gnu
+{
+  std::div_t d;
+  std::ldiv_t ld;
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/numeric/synopsis.cc b/libstdc++-v3/testsuite/26_numerics/headers/numeric/synopsis.cc
new file mode 100644 (file)
index 0000000..c322c61
--- /dev/null
@@ -0,0 +1,65 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <numeric>
+
+namespace std {
+  template <class InputIterator, class T>
+    T accumulate(InputIterator first, InputIterator last, T init);
+
+  template <class InputIterator, class T, class BinaryOperation>
+    T accumulate(InputIterator first, InputIterator last, T init,
+                 BinaryOperation binary_op);
+
+  template <class InputIterator1, class InputIterator2, class T>
+    T inner_product(InputIterator1 first1, InputIterator1 last1,
+                    InputIterator2 first2, T init);
+
+  template <class InputIterator1, class InputIterator2, class T,
+            class BinaryOperation1, class BinaryOperation2>
+    T inner_product(InputIterator1 first1, InputIterator1 last1,
+                    InputIterator2 first2, T init,
+                    BinaryOperation1 binary_op1,
+                    BinaryOperation2 binary_op2);
+
+  template <class InputIterator, class OutputIterator>
+    OutputIterator partial_sum(InputIterator first,
+                               InputIterator last,
+                               OutputIterator result);
+
+  template <class InputIterator, class OutputIterator,
+            class BinaryOperation>
+    OutputIterator partial_sum(InputIterator first,
+                               InputIterator last,
+                               OutputIterator result,
+                               BinaryOperation binary_op);
+
+  template <class InputIterator, class OutputIterator>
+    OutputIterator adjacent_difference(InputIterator first,
+                                       InputIterator last,
+                                       OutputIterator result);
+
+  template <class InputIterator, class OutputIterator,
+            class BinaryOperation>
+    OutputIterator adjacent_difference(InputIterator first,
+                                       InputIterator last,
+                                       OutputIterator result,
+                                       BinaryOperation binary_op);
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/valarray/synopsis.cc b/libstdc++-v3/testsuite/26_numerics/headers/valarray/synopsis.cc
new file mode 100644 (file)
index 0000000..90a542b
--- /dev/null
@@ -0,0 +1,128 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <valarray>
+
+namespace std {
+  template<class T> class valarray;
+
+  class slice;
+  template<class T> class slice_array;
+
+  class gslice;
+  template<class T> class gslice_array;
+  template<class T> class mask_array;
+  template<class T> class indirect_array;
+  template<class T> valarray<T> operator*
+    (const valarray<T>&, const valarray<T>&);
+  template<class T> valarray<T> operator* (const valarray<T>&, const T&);
+  template<class T> valarray<T> operator* (const T&, const valarray<T>&);
+
+template<class T> valarray<T> operator/
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<T> operator/ (const valarray<T>&, const T&);
+template<class T> valarray<T> operator/ (const T&, const valarray<T>&);
+template<class T> valarray<T> operator%
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<T> operator% (const valarray<T>&, const T&);
+template<class T> valarray<T> operator% (const T&, const valarray<T>&);
+template<class T> valarray<T> operator+
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<T> operator+ (const valarray<T>&, const T&);
+template<class T> valarray<T> operator+ (const T&, const valarray<T>&);
+template<class T> valarray<T> operator-
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<T> operator- (const valarray<T>&, const T&);
+template<class T> valarray<T> operator- (const T&, const valarray<T>&);
+template<class T> valarray<T> operator^
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<T> operator^ (const valarray<T>&, const T&);
+template<class T> valarray<T> operator^ (const T&, const valarray<T>&);
+template<class T> valarray<T> operator&
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<T> operator& (const valarray<T>&, const T&);
+template<class T> valarray<T> operator& (const T&, const valarray<T>&);
+template<class T> valarray<T> operator|
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<T> operator| (const valarray<T>&, const T&);
+template<class T> valarray<T> operator| (const T&, const valarray<T>&);
+template<class T> valarray<T> operator<<
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<T> operator<<(const valarray<T>&, const T&);
+template<class T> valarray<T> operator<<(const T&, const valarray<T>&);
+template<class T> valarray<T> operator>>
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<T> operator>>(const valarray<T>&, const T&);
+template<class T> valarray<T> operator>>(const T&, const valarray<T>&);
+template<class T> valarray<bool> operator&&
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<bool> operator&&(const valarray<T>&, const T&);
+template<class T> valarray<bool> operator&&(const T&, const valarray<T>&);
+template<class T> valarray<bool> operator||
+  (const valarray<T>&, const valarray<T>&);
+template<class T> valarray<bool> operator||(const valarray<T>&, const T&);
+template<class T> valarray<bool> operator||(const T&, const valarray<T>&);
+
+  template<class T>
+    valarray<bool> operator==(const valarray<T>&, const valarray<T>&);
+  template<class T> valarray<bool> operator==(const valarray<T>&, const T&);
+  template<class T> valarray<bool> operator==(const T&, const valarray<T>&);
+  template<class T>
+    valarray<bool> operator!=(const valarray<T>&, const valarray<T>&);
+  template<class T> valarray<bool> operator!=(const valarray<T>&, const T&);
+  template<class T> valarray<bool> operator!=(const T&, const valarray<T>&);
+  template<class T>
+    valarray<bool> operator< (const valarray<T>&, const valarray<T>&);
+  template<class T> valarray<bool> operator< (const valarray<T>&, const T&);
+  template<class T> valarray<bool> operator< (const T&, const valarray<T>&);
+  template<class T>
+    valarray<bool> operator> (const valarray<T>&, const valarray<T>&);
+  template<class T> valarray<bool> operator> (const valarray<T>&, const T&);
+  template<class T> valarray<bool> operator> (const T&, const valarray<T>&);
+  template<class T>
+    valarray<bool> operator<=(const valarray<T>&, const valarray<T>&);
+  template<class T> valarray<bool> operator<=(const valarray<T>&, const T&);
+  template<class T> valarray<bool> operator<=(const T&, const valarray<T>&);
+  template<class T>
+    valarray<bool> operator>=(const valarray<T>&, const valarray<T>&);
+  template<class T> valarray<bool> operator>=(const valarray<T>&, const T&);
+  template<class T> valarray<bool> operator>=(const T&, const valarray<T>&);
+  template<class T> valarray<T> abs  (const valarray<T>&);
+  template<class T> valarray<T> acos (const valarray<T>&);
+  template<class T> valarray<T> asin (const valarray<T>&);
+  template<class T> valarray<T> atan (const valarray<T>&);
+  template<class T> valarray<T> atan2
+    (const valarray<T>&, const valarray<T>&);
+  template<class T> valarray<T> atan2(const valarray<T>&, const T&);
+  template<class T> valarray<T> atan2(const T&, const valarray<T>&);
+  template<class T> valarray<T> cos (const  valarray<T>&);
+  template<class T> valarray<T> cosh (const valarray<T>&);
+  template<class T> valarray<T> exp (const  valarray<T>&);
+  template<class T> valarray<T> log (const  valarray<T>&);
+  template<class T> valarray<T> log10(const valarray<T>&);
+  template<class T> valarray<T> pow(const valarray<T>&, const valarray<T>&);
+  template<class T> valarray<T> pow(const valarray<T>&, const T&);
+  template<class T> valarray<T> pow(const T&, const valarray<T>&);
+  template<class T> valarray<T> sin  (const valarray<T>&);
+  template<class T> valarray<T> sinh (const valarray<T>&);
+  template<class T> valarray<T> sqrt (const valarray<T>&);
+  template<class T> valarray<T> tan  (const valarray<T>&);
+  template<class T> valarray<T> tanh (const valarray<T>&);
+}
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/valarray/types_std.cc b/libstdc++-v3/testsuite/26_numerics/headers/valarray/types_std.cc
new file mode 100644 (file)
index 0000000..38824dc
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <valarray>
+
+namespace gnu
+{
+  typedef std::slice t1;
+  typedef std::gslice t2;
+}
similarity index 96%
rename from libstdc++-v3/testsuite/27_io/basic_filebuf/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/base_classes.cc
index cef8732b9797fd6bef8369dbf5962fb9df916efe..9166a1adb2b6abf471445712ae34c37dc24b09b0 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -31,12 +32,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_filebuf/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/explicit_instantiation.cc
index 17c54294b537b85a410017e4f79090b767e625e1..f6d3a1cc7e1e94fb0449d595ce50aa407669136b 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
 
 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
@@ -26,8 +27,6 @@
 #include <testsuite_hooks.h>
 #include <testsuite_character.h>
 
-// { dg-do compile }
-
 // test05
 // libstdc++/1886
 // should be able to instantiate basic_filebuf for non-standard types.
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_filebuf/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_filebuf/requirements/typedefs.cc
index baa349e007c705437b01e21480b6459d16e8ac16..45dcf59479cd85189db46d263054b46dfafff9fc 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
 
 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
@@ -24,8 +25,6 @@
 
 #include <fstream>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
similarity index 92%
rename from libstdc++-v3/testsuite/27_io/basic_fstream/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_fstream/requirements/base_classes.cc
index be994f23be157a6da7327f1f2ee4baaf98e399f3..71089a311aad5f2c5df1b510ed91bc33a0804a9b 100644 (file)
@@ -1,4 +1,5 @@
-// 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
+// { dg-do compile }
+// 2003-03-26 Benjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
 //
@@ -32,12 +33,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_fstream/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_fstream/requirements/explicit_instantiation.cc
index 66e40c819864d6147d6f7f2211bfe22e8f9e5030..d3ddedc0ac9b428004993386ff2f290935b57493 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
@@ -34,8 +35,6 @@
 #include <testsuite_hooks.h>
 #include <testsuite_character.h>
 
-// { dg-do compile }
-
 namespace std
 {
   using __gnu_test::pod_char;
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_fstream/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_fstream/requirements/typedefs.cc
index 6c294f21ab0d644175c8824ff26f58c328fb17ad..a858ae8bcae7f87d6764e00dafe5067779488294 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2003 Free Software Foundation, Inc.
@@ -33,8 +34,6 @@
 #include <fstream>
 #include <testsuite_hooks.h>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
similarity index 96%
rename from libstdc++-v3/testsuite/27_io/basic_ifstream/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/base_classes.cc
index 626da50d523a3228a643d866e1903c83f6a120d9..444c85b87e9e1ddcf8c0e01c7fdbe6b7c60a2416 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -32,12 +33,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ifstream/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/explicit_instantiation.cc
index 191ef1f4475d1e341ee4a668e94bceed93d8c295..630f426c21829f8a7ad7ead6cdb6de87064740e2 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2004 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <fstream>
 
-// { dg-do compile }
-
 namespace std
 {
   typedef short type_t;
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ifstream/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_ifstream/requirements/typedefs.cc
index 2a6482a8ff1e1ee54521b9558dd2bdbdd502c842..e0e32c3e040f1427a89c4a29f61346f86486b201 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <fstream>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
similarity index 92%
rename from libstdc++-v3/testsuite/27_io/basic_ios/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_ios/requirements/base_classes.cc
index de7b5495efd95a7aaa19f9435cecf78acdf9eb17..f748ecef6e0413996d5b69a437b4e6579e39479d 100644 (file)
@@ -1,4 +1,5 @@
-// 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
+// { dg-do compile }
+// 2003-03-26 Benjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
 //
@@ -34,12 +35,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ios/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_ios/requirements/explicit_instantiation.cc
index 89c71e65e8e4892120357b810610cf4389bfd05b..581bff6ffe13deaa8bf32d829241f6e9fc429085 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2004 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <ios>
 
-// { dg-do compile }
-
 namespace std
 {
   typedef short type_t;
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ios/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_ios/requirements/typedefs.cc
index 6481c7102846912fa0288776766a4e3b23f0e10a..818a159fb3d1bf1363703a0cdc9bd3185834972f 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <ios>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
similarity index 97%
rename from libstdc++-v3/testsuite/27_io/basic_iostream/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_iostream/requirements/base_classes.cc
index 26b5fa1579cf6c67c83b76b99caa156ab2d8a51a..63fffa58f4e55b9a662c934e108b19a905502cc5 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -36,12 +37,6 @@ void test01()
   const base_type2* base2 __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_iostream/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_iostream/requirements/explicit_instantiation.cc
index e5c72362bc54368df1febb49212a9c76d1fec95a..6b8e0e0c4733f613ef743fb49ee66d818fc92d0b 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-01-08 bkoz
 
 // Copyright (C) 2002, 2004 Free Software Foundation, Inc.
@@ -30,8 +31,6 @@
 // 27.6.1.5 - Template class basic_iostream
 // NB: This file is for testing iostream with NO OTHER INCLUDES.
 
-// { dg-do compile }
-
 #include <istream>
 
 namespace std
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_iostream/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_iostream/requirements/typedefs.cc
index e860d4fd3ae2fb5bf11a2bb7feda18f40f42e6bf..6ff836a61346ced02744246e77c465c61c21b55f 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-01-08 bkoz
 
 // Copyright (C) 2002 Free Software Foundation, Inc.
@@ -30,8 +31,6 @@
 // 27.6.1.5 - Template class basic_iostream
 // NB: This file is for testing iostream with NO OTHER INCLUDES.
 
-// { dg-do compile }
-
 #include <istream>
 
 // libstdc++/7216
similarity index 96%
rename from libstdc++-v3/testsuite/27_io/basic_istream/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_istream/requirements/base_classes.cc
index 3c796f5c82368413dc00d06f9cffa4a92615e3d1..b6372d7cfa9eb6e3da7706b4f9743bfa2a950327 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -34,12 +35,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_istream/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_istream/requirements/explicit_instantiation.cc
index f0cb8011b1e6c36dffac1d5a8469f2a6f1fb53a8..9fb06d0e46a6768d018e64f22375a4a028e77030 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 1999-09-20 bkoz
 
 // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
@@ -35,8 +36,6 @@
 #include <testsuite_hooks.h>
 #include <testsuite_character.h>
 
-// { dg-do compile }
-
 namespace std
 {
   using __gnu_test::pod_char;
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_istream/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_istream/requirements/typedefs.cc
index 0250f1274e73bb95b50901c1053f281df3490691..932c68e73f3d21d3845b54759a4d96c6c2587714 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 1999-09-20 bkoz
 
 // Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
@@ -33,8 +34,6 @@
 #include <istream>
 #include <testsuite_hooks.h>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
similarity index 96%
rename from libstdc++-v3/testsuite/27_io/basic_istringstream/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/base_classes.cc
index da0845f733a64b0a524240853cf24413da01ddf6..38e50e4f9f41fe8858be594076f64ec91492dba5 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -32,12 +33,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_istringstream/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/explicit_instantiation.cc
index 7f7f9f9252074811fb5a95d9a7bce3a71168a7b8..9ad96d9b0a78436b7fe448782c10352406151365 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2004 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <sstream>
 
-// { dg-do compile }
-
 namespace std
 {
   typedef short type_t;
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_istringstream/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_istringstream/requirements/typedefs.cc
index b87fb24bd082a67e976bc95da29935f4dafe2de0..5999c59caff120f046feb23da1b01b70c19a8169 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <sstream>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
similarity index 96%
rename from libstdc++-v3/testsuite/27_io/basic_ofstream/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/base_classes.cc
index ae5b727c2437821ec473da4302f7a97bd56ad877..fe2282990d409943c03fabd911f7900f6b43d7cb 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -32,12 +33,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ofstream/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/explicit_instantiations.cc
index 4f1dfc093ad70c41e6525fe829847da0cab33c18..f1395e9a80b3fdc0e508c7c953a57888297f7e90 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2004 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <fstream>
 
-// { dg-do compile }
-
 namespace std
 {
   typedef short type_t;
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ofstream/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_ofstream/requirements/typedefs.cc
index 83a9cd17522bf50d2ff8cc7d316edd5b39766068..3c8df7fef882144610b71ec0763841f0fc9619d7 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <fstream>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
similarity index 96%
rename from libstdc++-v3/testsuite/27_io/basic_ostream/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_ostream/requirements/base_classes.cc
index a365762f21b65e915a62fc25c35a4b46e0c81e25..a36699768ac608fc86542755e68c92e8f1328209 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -34,12 +35,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ostream/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_ostream/requirements/explicit_instantiation.cc
index 6b1f7121fe1010e2fcac820de27c7b7ad0e64d3e..27e72a64f6def4c8c49e755f99be33af692c00d4 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 1999-09-20 bkoz
 
 // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
@@ -35,8 +36,6 @@
 #include <testsuite_hooks.h>
 #include <testsuite_character.h>
 
-// { dg-do compile }
-
 namespace std
 {
   using __gnu_test::pod_char;
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ostream/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_ostream/requirements/typedefs.cc
index f72ab120f0e8f099fca0ef5c40c110674b5ca46d..5cac045029473124aede362042c67b027fd2aa3a 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 1999-09-20 bkoz
 
 // Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
@@ -33,8 +34,6 @@
 #include <ostream>
 #include <testsuite_hooks.h>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
similarity index 96%
rename from libstdc++-v3/testsuite/27_io/basic_ostringstream/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/base_classes.cc
index 5a3c40309ba315d97dc9b8ec2d843d33ba6ea849..b4fbe040157cbbdfe080cae7f45664e05264ec20 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -32,12 +33,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ostringstream/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/explicit_instantiation.cc
index 105318941d736f8568eea15b3d9c130b5813ce99..dc509b818e74eec68d74383360be2099e84b57a9 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2004 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <sstream>
 
-// { dg-do compile }
-
 namespace std
 {
   typedef short type_t;
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_ostringstream/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_ostringstream/requirements/typedefs.cc
index fa4ae5edc30b61c6d756ec1ded18ec0fa2a52604..3fbaa4f1f1bb9fcac33f85f83e75a2ebc4311ec0 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002 Free Software Foundation, Inc.
@@ -32,8 +33,6 @@
 
 #include <sstream>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
similarity index 96%
rename from libstdc++-v3/testsuite/27_io/basic_stringbuf/5.cc
rename to libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/base_classes.cc
index b341b09c7c09f313b5c8443f1b1bf1e215714f69..b1ab8f13ee995db23e043483b73ca9dcc6a69345 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -31,12 +32,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_stringbuf/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/2.cc
index 354e22749252425fd6078c58864b3f3113299fd8..696a4937baef70e04c7fa3f128919732cb6df44b 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
 
 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
@@ -26,8 +27,6 @@
 #include <testsuite_hooks.h>
 #include <testsuite_character.h>
 
-// { dg-do compile }
-
 // test05
 // libstdc++/1886
 // should be able to instantiate basic_stringbuf for non-standard types.
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_stringbuf/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/explicit_instantiation/4.cc
index d4412cdb9f45c413016a762aeab5137680dc59da..0a2c031baf6de9d8fa62166fbde7cae5f2d6b1ce 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-04-07 bkoz
 
 // Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
@@ -26,8 +27,6 @@
 #include <testsuite_allocator.h>
 #include <testsuite_character.h>
 
-// { dg-do compile }
-
 namespace std
 {
   using __gnu_test::pod_char;
similarity index 97%
rename from libstdc++-v3/testsuite/27_io/basic_stringbuf/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_stringbuf/requirements/typedefs.cc
index a2da4054d4b570eb25f0c94f570a76a2b4a0014a..34999e4e9068b951087b4b0eef59e01f5749e69d 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2003 Free Software Foundation, Inc.
@@ -33,8 +34,6 @@
 #include <sstream>
 #include <testsuite_hooks.h>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
@@ -46,9 +45,3 @@ void test01()
   typedef test_type::pos_type pos_type;
   typedef test_type::off_type off_type;
 }
-
-int main() 
-{
-  test01();
-  return 0;
-}
similarity index 96%
rename from libstdc++-v3/testsuite/27_io/basic_stringstream/4.cc
rename to libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/base_classes.cc
index 43eecf9c709c7b6caddc2f8110438d0541b2be99..a6c0371257247e85d9242e91cd7a73b81ebaaba3 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2003-03-26 B enjamin Kosnik  <bkoz@redhat.com>
 
 // Copyright (C) 2003 Free Software Foundation, Inc.
@@ -32,12 +33,6 @@ void test01()
   const base_type* base __attribute__((unused)) = &obj;
 }
 
-int main()
-{
-  test01();
-  return 0;
-}
-
 // more surf!!!
 
 
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_stringstream/2.cc
rename to libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/explicit_instantiation.cc
index 97a1ea8c78879d37084734b36de130fb0bf813ba..6279e42ba4d6c028d8b6c99c62623515058b3dd0 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
@@ -34,8 +35,6 @@
 #include <testsuite_hooks.h>
 #include <testsuite_character.h>
 
-// { dg-do compile }
-
 namespace std
 {
   using __gnu_test::pod_char;
similarity index 99%
rename from libstdc++-v3/testsuite/27_io/basic_stringstream/1.cc
rename to libstdc++-v3/testsuite/27_io/basic_stringstream/requirements/typedefs.cc
index 294e7a2f11a9e3c835fd236fd40f26dcba9fd90c..6b44601dbe549b6fcfae567cc45ccfc42abb837b 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-do compile }
 // 2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
 
 // Copyright (C) 2002, 2003 Free Software Foundation, Inc.
@@ -33,8 +34,6 @@
 #include <sstream>
 #include <testsuite_hooks.h>
 
-// { dg-do compile }
-
 // libstdc++/7216
 void test01()
 {
diff --git a/libstdc++-v3/testsuite/27_io/headers/cstdio/functions_std.cc b/libstdc++-v3/testsuite/27_io/headers/cstdio/functions_std.cc
new file mode 100644 (file)
index 0000000..c3da4ca
--- /dev/null
@@ -0,0 +1,66 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdio>
+
+namespace gnu
+{
+  using std::clearerr; 
+  using std::tmpfile; 
+  using std::fgets; 
+  using std::fscanf; 
+  using std::gets; 
+  using std::rename;
+  using std::fclose; 
+  using std::fopen; 
+  using std::fseek; 
+  using std::perror; 
+  using std::rewind; 
+  using std::tmpnam; 
+  using std::feof; 
+  using std::fprintf; 
+  using std::fsetpos; 
+  using std::printf; 
+  using std::scanf; 
+  using std::ungetc; 
+  using std::ferror; 
+  using std::vfprintf; 
+  using std::fputc; 
+  using std::ftell; 
+  using std::putc; 
+  using std::setbuf; 
+  using std::fflush; 
+  using std::vprintf; 
+  using std::fputs; 
+  using std::fwrite; 
+  using std::putchar; 
+  using std::setvbuf; 
+  using std::fgetc; 
+  using std::vsprintf; 
+  using std::fread; 
+  using std::getc; 
+  using std::puts; 
+  using std::sprintf; 
+  using std::fgetpos; 
+  using std::freopen; 
+  using std::getchar; 
+  using std::remove; 
+  using std::sscanf;
+}
diff --git a/libstdc++-v3/testsuite/27_io/headers/cstdio/macros.cc b/libstdc++-v3/testsuite/27_io/headers/cstdio/macros.cc
new file mode 100644 (file)
index 0000000..4c15f4f
--- /dev/null
@@ -0,0 +1,88 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdio>
+
+namespace gnu
+{
+#ifndef NULL
+    #error "NULL_must_be_a_macro"
+#endif
+
+#ifndef BUFSIZ
+    #error "BUFSIZ_must_be_a_macro"
+#endif
+
+#ifndef EOF
+    #error "EOF_must_be_a_macro"
+#endif
+
+#ifndef FILENAME_MAX
+    #error "FILENAME_MAX_must_be_a_macro"
+#endif
+
+#ifndef L_tmpnam
+    #error "L_tmpnam_must_be_a_macro"
+#endif
+
+#ifndef FOPEN_MAX
+    #error "FOPEN_MAX_must_be_a_macro"
+#endif
+
+#ifndef SEEK_CUR
+    #error "SEEK_CUR_must_be_a_macro"
+#endif
+
+#ifndef SEEK_END
+    #error "SEEK_END_must_be_a_macro"
+#endif
+
+#ifndef SEEK_SET
+    #error "SEEK_SET_must_be_a_macro"
+#endif
+
+#ifndef TMP_MAX
+    #error "TMP_MAX_must_be_a_macro"
+#endif
+
+#ifndef _IOFBF
+    #error "_IOFBF_must_be_a_macro"
+#endif
+
+#ifndef _IOLBF
+    #error "_IOLBF_must_be_a_macro"
+#endif
+
+#ifndef _IONBF
+    #error "_IONBF_must_be_a_macro"
+#endif
+
+#ifndef stderr
+    #error "stderr_must_be_a_macro"
+#endif
+
+#ifndef stdin
+    #error "stdin_must_be_a_macro"
+#endif
+
+#ifndef stdout
+    #error "stdout_must_be_a_macro"
+#endif
+}
diff --git a/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/cstdio/types_std.cc
new file mode 100644 (file)
index 0000000..0ad9807
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <cstdio>
+
+namespace gnu
+{
+  std::size_t s;
+  std::FILE f;
+  std::FILE fpos_t;
+}
diff --git a/libstdc++-v3/testsuite/27_io/headers/fstream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/fstream/synopsis.cc
new file mode 100644 (file)
index 0000000..9b8dae6
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <fstream>
+
+namespace std {
+  template <class charT, class traits>
+    class basic_filebuf;
+  typedef basic_filebuf<char>    filebuf;
+  typedef basic_filebuf<wchar_t> wfilebuf;
+
+  template <class charT, class traits>
+    class basic_ifstream;
+  typedef basic_ifstream<char>    ifstream;
+  typedef basic_ifstream<wchar_t> wifstream;
+
+  template <class charT, class traits>
+    class basic_ofstream;
+  typedef basic_ofstream<char>    ofstream;
+  typedef basic_ofstream<wchar_t> wofstream;
+
+  template <class charT, class traits>
+    class basic_fstream;
+  typedef basic_fstream<char>     fstream;
+  typedef basic_fstream<wchar_t> wfstream;
+}
diff --git a/libstdc++-v3/testsuite/27_io/headers/fstream/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/fstream/types_std.cc
new file mode 100644 (file)
index 0000000..9707680
--- /dev/null
@@ -0,0 +1,36 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <fstream>
+
+namespace gnu
+{
+  typedef std::filebuf t1;
+  typedef std::wfilebuf t2;
+
+  typedef std::ifstream t3;
+  typedef std::wifstream t4;
+
+  typedef std::ofstream t5;
+  typedef std::wofstream t6;
+
+  typedef std::fstream t7;
+  typedef std::wfstream t8;
+}
diff --git a/libstdc++-v3/testsuite/27_io/headers/iomanip/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/iomanip/synopsis.cc
new file mode 100644 (file)
index 0000000..79d0550
--- /dev/null
@@ -0,0 +1,33 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <iomanip>
+
+namespace std {
+#if 0
+    // Types T1, T2, ... are unspecified implementation types
+    T1 resetiosflags(ios_base::fmtflags mask);
+    T2 setiosflags (ios_base::fmtflags mask);
+    T3 setbase(int base);
+    template<charT> T4 setfill(charT c);
+    T5 setprecision(int n);
+    T6 setw(int n);
+#endif
+}
diff --git a/libstdc++-v3/testsuite/27_io/headers/ios/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/ios/synopsis.cc
new file mode 100644 (file)
index 0000000..a8f27d9
--- /dev/null
@@ -0,0 +1,60 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <ios>
+
+namespace std {
+#if 0
+  typedef OFF_T streamoff;
+  typedef SZ_T streamsize;
+#endif
+
+  template <class stateT> class fpos;
+  class ios_base;
+  template <class charT, class traits>
+     class basic_ios;
+
+  // 27.4.5, manipulators:
+  ios_base& boolalpha (ios_base& str);
+  ios_base& noboolalpha(ios_base& str);
+  ios_base& showbase     (ios_base& str);
+  ios_base& noshowbase (ios_base& str);
+  ios_base& showpoint (ios_base& str);
+  ios_base& noshowpoint(ios_base& str);
+  ios_base& showpos      (ios_base& str);
+  ios_base& noshowpos    (ios_base& str);
+  ios_base& skipws       (ios_base& str);
+  ios_base& noskipws     (ios_base& str);
+  ios_base& uppercase (ios_base& str);
+  ios_base& nouppercase(ios_base& str);
+  ios_base& unitbuf      (ios_base& str);
+  ios_base& nounitbuf    (ios_base& str);
+  // 27.4.5.2 adjustfield:
+  ios_base& internal     (ios_base& str);
+  ios_base& left         (ios_base& str);
+  ios_base& right        (ios_base& str);
+  // 27.4.5.3 basefield:
+  ios_base& dec          (ios_base& str);
+  ios_base& hex          (ios_base& str);
+  ios_base& oct          (ios_base& str);
+  // 27.4.5.4 floatfield:
+  ios_base& fixed        (ios_base& str);
+  ios_base& scientific (ios_base& str);
+}
diff --git a/libstdc++-v3/testsuite/27_io/headers/ios/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/ios/types_std.cc
new file mode 100644 (file)
index 0000000..b96720a
--- /dev/null
@@ -0,0 +1,28 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <ios>
+
+namespace gnu
+{
+  typedef std::streamoff t1;
+  typedef std::streamsize t2;
+  typedef std::ios_base t3;
+}
diff --git a/libstdc++-v3/testsuite/27_io/headers/iostream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/iostream/synopsis.cc
new file mode 100644 (file)
index 0000000..b2f0e2f
--- /dev/null
@@ -0,0 +1,32 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <iostream>
+
+namespace std {
+  extern istream  cin;
+  extern ostream  cout;
+  extern ostream  cerr;
+  extern ostream  clog;
+  extern wistream  wcin;
+  extern wostream  wcout;
+  extern wostream  wcerr;
+  extern wostream  wclog;
+}
similarity index 76%
rename from libstdc++-v3/testsuite/17_intro/header_iostream.cc
rename to libstdc++-v3/testsuite/27_io/headers/iostream/types_std.cc
index 2a6202d99bb5b8b78349f4e1185ba2997225f9fa..881b52ba0c59e312204d747401b09b2dcaa8d893 100644 (file)
@@ -1,6 +1,6 @@
-// 1999-07-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, iostream
-
 #include <iostream>
-#include <testsuite_hooks.h>
-
 
-int main(void)
+namespace gnu
 {
-  return 0;
+  using std::cout;
+  using std::cerr;
+  using std::cin;
+  using std::clog;
+
+  using std::wcout;
+  using std::wcerr;
+  using std::wcin;
+  using std::wclog;
 }
diff --git a/libstdc++-v3/testsuite/27_io/headers/istream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/istream/synopsis.cc
new file mode 100644 (file)
index 0000000..22ef87e
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <istream>
+
+namespace std {
+  template <class charT, class traits >
+    class basic_istream;
+  typedef basic_istream<char>     istream;
+  typedef basic_istream<wchar_t> wistream;
+  template <class charT, class traits >
+    class basic_iostream;
+  typedef basic_iostream<char>    iostream;
+  typedef basic_iostream<wchar_t> wiostream;
+  template <class charT, class traits>
+    basic_istream<charT,traits>& ws(basic_istream<charT,traits>& is);
+}
similarity index 79%
rename from libstdc++-v3/testsuite/17_intro/header_istream.cc
rename to libstdc++-v3/testsuite/27_io/headers/istream/types_std.cc
index 90326d6c7ce55afcf28965f66262fec6b6d6cdca..16f9680ce23b63317203470dd6156985941ef7af 100644 (file)
@@ -1,6 +1,6 @@
-// 1999-07-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, istream
-
 #include <istream>
-#include <testsuite_hooks.h>
-
 
-int main(void)
+namespace gnu
 {
-  return 0;
+  typedef std::istream t1;
+  typedef std::wistream t2;
+
+  typedef std::iostream t3;
+  typedef std::wiostream t4;
 }
diff --git a/libstdc++-v3/testsuite/27_io/headers/ostream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/ostream/synopsis.cc
new file mode 100644 (file)
index 0000000..cfb75fe
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <ostream>
+
+namespace std {
+  template <class charT, class traits>
+    class basic_ostream;
+  typedef basic_ostream<char>     ostream;
+  typedef basic_ostream<wchar_t> wostream;
+  template <class charT, class traits>
+    basic_ostream<charT,traits>& endl(basic_ostream<charT,traits>& os);
+  template <class charT, class traits>
+    basic_ostream<charT,traits>& ends(basic_ostream<charT,traits>& os);
+  template <class charT, class traits>
+    basic_ostream<charT,traits>& flush(basic_ostream<charT,traits>& os);
+}
similarity index 83%
rename from libstdc++-v3/testsuite/17_intro/header_ostream.cc
rename to libstdc++-v3/testsuite/27_io/headers/ostream/types_std.cc
index 901bfec22d571feac3237ee78293123c6a031fd0..973b2a00e81edaf4d9c7c0f657d9ccb2f808b19d 100644 (file)
@@ -1,6 +1,6 @@
-// 1999-07-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, ostream
-
 #include <ostream>
-#include <testsuite_hooks.h>
-
 
-int main(void)
+namespace gnu
 {
-  return 0;
+  typedef std::ostream t1;
+  typedef std::wostream t2;
 }
diff --git a/libstdc++-v3/testsuite/27_io/headers/sstream/synopsis.cc b/libstdc++-v3/testsuite/27_io/headers/sstream/synopsis.cc
new file mode 100644 (file)
index 0000000..5fd2186
--- /dev/null
@@ -0,0 +1,43 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <sstream>
+
+namespace std {
+  template <class charT, class traits, class Allocator>
+    class basic_stringbuf;
+  typedef basic_stringbuf<char>     stringbuf;
+  typedef basic_stringbuf<wchar_t> wstringbuf;
+
+  template <class charT, class traits, class Allocator>
+    class basic_istringstream;
+  typedef basic_istringstream<char>     istringstream;
+  typedef basic_istringstream<wchar_t> wistringstream;
+
+  template <class charT, class traits, class Allocator>
+    class basic_ostringstream;
+  typedef basic_ostringstream<char>     ostringstream;
+  typedef basic_ostringstream<wchar_t> wostringstream;
+
+  template <class charT, class traits, class Allocator>
+    class basic_stringstream;
+  typedef basic_stringstream<char>     stringstream;
+  typedef basic_stringstream<wchar_t> wstringstream;
+}
diff --git a/libstdc++-v3/testsuite/27_io/headers/sstream/types_std.cc b/libstdc++-v3/testsuite/27_io/headers/sstream/types_std.cc
new file mode 100644 (file)
index 0000000..c6ebcbb
--- /dev/null
@@ -0,0 +1,36 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <sstream>
+
+namespace gnu
+{
+  typedef std::stringbuf t1;
+  typedef std::wstringbuf t2;
+
+  typedef std::istringstream t3;
+  typedef std::wistringstream t4;
+
+  typedef std::ostringstream t5;
+  typedef std::wostringstream t6;
+
+  typedef std::stringstream t7;
+  typedef std::wstringstream t8;
+}
similarity index 74%
rename from libstdc++-v3/testsuite/17_intro/header_ctime.cc
rename to libstdc++-v3/testsuite/27_io/headers/streambuf/synopsis.cc
index 0df0157040255c8ce1b08cf4a8a9c46e8f539f40..a8a07300acd069ea8c66ba90f9eb981783b03320 100644 (file)
@@ -1,6 +1,6 @@
-// 2000-01-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, ctime
+#include <streambuf>
 
-#include <ctime>
-
-int main(void)
-{
-  // Make sure size_t is in namespace std
-  std::size_t i __attribute__((unused)) = 5;
-  return 0;
+namespace std {
+  template <class charT, class traits>
+    class basic_streambuf;
+  typedef basic_streambuf<char>     streambuf;
+  typedef basic_streambuf<wchar_t> wstreambuf;
 }
similarity index 83%
rename from libstdc++-v3/testsuite/17_intro/header_streambuf.cc
rename to libstdc++-v3/testsuite/27_io/headers/streambuf/types_std.cc
index ac67481e2b78164f0c717247e3b4ea6e27dc755a..ca112544b6ff04e2585f9812edd9369f3ece22e6 100644 (file)
@@ -1,6 +1,6 @@
-// 1999-07-01 bkoz
+// { dg-do compile }
 
-// Copyright (C) 1999 Free Software Foundation, Inc.
+// Copyright (C) 2007 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 
-// 17.4.1.2 Headers, streambuf
-
 #include <streambuf>
-#include <testsuite_hooks.h>
-
 
-int main(void)
+namespace gnu
 {
-  return 0;
+  typedef std::streambuf t1;
+  typedef std::wstreambuf t2;
 }
index ec95fb95264831dd02d02939a2c88d3980c02a22..af66604377e4c6ccf8deb51b04a7b66723668ea3 100644 (file)
 // subdirectory that are meant to be directly included.
 
 #include <ext/algorithm>
+#include <ext/array_allocator.h>
+#include <ext/atomicity.h>
+#include <ext/bitmap_allocator.h>
+#include <ext/codecvt_specializations.h>
+#include <ext/concurrence.h>
+#include <ext/debug_allocator.h>
+#include <ext/enc_filebuf.h>
 #include <ext/functional>
 #include <ext/hash_map>
 #include <ext/hash_set>
 #include <ext/iterator>
+#include <ext/malloc_allocator.h>
 #include <ext/memory>
+#include <ext/mt_allocator.h>
+#include <ext/new_allocator.h>
 #include <ext/numeric>
+#include <ext/pod_char_traits.h>
+#include <ext/pool_allocator.h>
 #include <ext/rb_tree>
 #include <ext/rope>
 #include <ext/slist>
-#include <ext/debug_allocator.h>
-#include <ext/malloc_allocator.h>
-#include <ext/new_allocator.h>
-#include <ext/array_allocator.h>
-#include <ext/mt_allocator.h>
-#include <ext/pool_allocator.h>
 #include <ext/stdio_filebuf.h>
 #include <ext/stdio_sync_filebuf.h>
-
+#include <ext/throw_allocator.h>
+#include <ext/typelist.h>
+#include <ext/type_traits.h>
+#include <ext/vstring.h>
+#include <ext/pb_ds/assoc_container.hpp>
+#include <ext/pb_ds/priority_queue.hpp>
+#include <ext/pb_ds/exception.hpp>
+#include <ext/pb_ds/hash_policy.hpp>
+#include <ext/pb_ds/list_update_policy.hpp>
+#include <ext/pb_ds/tree_policy.hpp>
+#include <ext/pb_ds/trie_policy.hpp>
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/functional/synopsis.cc
new file mode 100644 (file)
index 0000000..cd6e2b0
--- /dev/null
@@ -0,0 +1,35 @@
+// { dg-do compile }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/functional>
+
+namespace std {
+namespace tr1 {
+
+  template <class T> class reference_wrapper;
+  template <class T> reference_wrapper<T> ref(T&);
+  template <class T> reference_wrapper<const T> cref(const T&);
+  template <class T> reference_wrapper<T> ref(reference_wrapper<T>);
+  template <class T> reference_wrapper<const T> cref(reference_wrapper<T>);
+
+} // namespace tr1
+} // namespace std
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/synopsis.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/synopsis.cc
new file mode 100644 (file)
index 0000000..d3f1520
--- /dev/null
@@ -0,0 +1,66 @@
+// { dg-do compile }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/memory>
+
+namespace std {
+namespace tr1 {
+
+  // [2.2.2] Class bad_weak_ptr
+  class bad_weak_ptr;
+
+  // [2.2.3] Class template shared_ptr
+  template<class T> class shared_ptr;
+
+  // [2.2.3.6] shared_ptr comparisons
+  template<class T, class U> bool operator==(shared_ptr<T> const& a, shared_ptr<U> const& b);
+  template<class T, class U> bool operator!=(shared_ptr<T> const& a, shared_ptr<U> const& b);
+  template<class T, class U> bool operator<(shared_ptr<T> const& a, shared_ptr<U> const& b);
+
+  // [2.2.3.8] shared_ptr specialized algorithms
+  template<class T> void swap(shared_ptr<T>& a, shared_ptr<T>& b);
+
+  // [2.2.3.9] shared_ptr casts
+  template<class T, class U> shared_ptr<T> static_pointer_cast(shared_ptr<U> const& r);
+  template<class T, class U> shared_ptr<T> dynamic_pointer_cast(shared_ptr<U> const& r);
+  template<class T, class U> shared_ptr<T> const_pointer_cast(shared_ptr<U> const& r);
+
+  // [2.2.3.7] shared_ptr I/O
+  template<class E, class T, class Y>
+     basic_ostream<E, T>& operator<< (basic_ostream<E, T>& os, shared_ptr<Y> const& p);
+
+  // [2.2.3.10] shared_ptr get_deleter
+  template<class D, class T> D* get_deleter(shared_ptr<T> const& p);
+
+  // [2.2.4] Class template weak_ptr
+  template<class T> class weak_ptr;
+
+  // [2.2.4.6] weak_ptr comparison
+  template<class T, class U> bool operator<(weak_ptr<T> const& a, weak_ptr<U> const& b);
+
+  // [2.2.4.7] weak_ptr specialized algorithms
+  template<class T> void swap(weak_ptr<T>& a, weak_ptr<T>& b);
+
+  // [2.2.5] Class enable_shared_from_this
+  template<class T> class enable_shared_from_this;
+} // namespace tr1
+} // namespace std
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/headers/memory/types_std_tr1.cc
new file mode 100644 (file)
index 0000000..3a3717a
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <tr1/memory>
+
+namespace gnu
+{
+  using std::tr1::bad_weak_ptr;
+}
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/synopsis.cc
new file mode 100644 (file)
index 0000000..836c670
--- /dev/null
@@ -0,0 +1,80 @@
+// { dg-do compile }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/functional>
+
+namespace std {
+namespace tr1 {
+
+  // [3.4] class template result_of
+  template <class FunctionCallType> class result_of;
+
+#if 0
+  // [3.5] function template mem_fn
+  template<class R, class T> unspecified mem_fn(R T::* pm);
+#endif
+
+  // [3.6] function object binders
+  template<class T> struct is_bind_expression;
+  template<class T> struct is_placeholder;
+
+#if 0
+  template<class F, class T1, ..., class TN> 
+  unspecified bind(F f, T1 t1, ..., TN tN);
+
+  template<class R, class F, class T1, ..., class Tn > 
+  unspecified bind(F f, T1 t1, ..., TN tN);
+
+  namespace placeholders {
+     // M is the implementation-defined number of placeholders
+     extern unspecified _1;
+     extern unspecified _2;
+                     .
+                     .
+                     .
+     extern unspecified _M;
+  }
+#endif
+
+  // [3.7] polymorphic function wrappers
+  class bad_function_call;
+  template<class Function> class function;
+  template<class Function>
+     void swap(function<Function>&, function<Function>&);
+  template<class Function1, class Function2>
+     void operator==(const function<Function1>&, const function<Function2>&);
+  template<class Function1, class Function2>
+     void operator!=(const function<Function1>&, const function<Function2>&);
+
+#if 0
+  template <class Function>
+     bool operator==(const function<Function>&, unspecified-null-pointer-type);
+  template <class Function>
+     bool operator==(unspecified-null-pointer-type, const function<Function>&);
+  template <class Function>
+     bool operator!=(const function<Function>&, unspecified-null-pointer-type);
+  template <class Function>
+     bool operator!=(unspecified-null-pointer-type, const function<Function>&);
+#endif
+
+} // namespace tr1
+} // namespace std
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/types_std_tr1.cc
new file mode 100644 (file)
index 0000000..b61e5f2
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <tr1/functional>
+
+namespace gnu
+{
+  using std::tr1::bad_function_call;
+}
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/using_namespace_std_tr1_placeholders.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/headers/functional/using_namespace_std_tr1_placeholders.cc
new file mode 100644 (file)
index 0000000..faddc0d
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <tr1/tuple>
+
+namespace gnu
+{
+  using namespace std::tr1::placeholders;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/synopsis.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/synopsis.cc
new file mode 100644 (file)
index 0000000..83ea1ac
--- /dev/null
@@ -0,0 +1,104 @@
+// { dg-do compile }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/type_traits>
+
+namespace std {
+namespace tr1 {
+
+  // [4.3] helper class:
+  template <class T, T v> struct integral_constant;
+  typedef integral_constant<bool, true> true_type;
+  typedef integral_constant<bool, false> false_type;
+
+  // [4.5.1] primary type categories:
+  template <class T> struct is_void;
+  template <class T> struct is_integral;
+  template <class T> struct is_floating_point;
+  template <class T> struct is_array;
+  template <class T> struct is_pointer;
+  template <class T> struct is_reference;
+  template <class T> struct is_member_object_pointer;
+  template <class T> struct is_member_function_pointer;
+  template <class T> struct is_enum;
+  template <class T> struct is_union;
+  template <class T> struct is_class;
+  template <class T> struct is_function;
+
+  // [4.5.2] composite type categories:
+  template <class T> struct is_arithmetic;
+  template <class T> struct is_fundamental;
+  template <class T> struct is_object;
+  template <class T> struct is_scalar;
+  template <class T> struct is_compound;
+  template <class T> struct is_member_pointer;
+
+  // [4.5.3] type properties:
+  template <class T> struct is_const;
+  template <class T> struct is_volatile;
+  template <class T> struct is_pod;
+  template <class T> struct is_empty;
+  template <class T> struct is_polymorphic;
+  template <class T> struct is_abstract;
+  template <class T> struct has_trivial_constructor;
+  template <class T> struct has_trivial_copy;
+  template <class T> struct has_trivial_assign;
+  template <class T> struct has_trivial_destructor;
+  template <class T> struct has_nothrow_constructor;
+  template <class T> struct has_nothrow_copy;
+  template <class T> struct has_nothrow_assign;
+  template <class T> struct has_virtual_destructor;
+  template <class T> struct is_signed;
+  template <class T> struct is_unsigned;
+  template <class T> struct alignment_of;
+  template <class T> struct rank;
+  template <class T, unsigned I> struct extent;
+
+  // [4.6] type relations:
+  template <class T, class U> struct is_same;
+  template <class Base, class Derived> struct is_base_of;
+  template <class From, class To> struct is_convertible;
+
+  // [4.7.1] const-volatile modifications:
+  template <class T> struct remove_const;
+  template <class T> struct remove_volatile;
+  template <class T> struct remove_cv;
+  template <class T> struct add_const;
+  template <class T> struct add_volatile;
+  template <class T> struct add_cv;
+
+  // [4.7.2] reference modifications:
+  template <class T> struct remove_reference;
+  template <class T> struct add_reference;
+
+  // [4.7.3] array modifications:
+  template <class T> struct remove_extent;
+  template <class T> struct remove_all_extents;
+
+  // [4.7.4] pointer modifications:
+  template <class T> struct remove_pointer;
+  template <class T> struct add_pointer;
+
+  // [4.8] other transformations:
+  template <std::size_t Len, std::size_t Align> struct aligned_storage;
+} // namespace tr1
+} // namespace std
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/headers/type_traits/types_std_tr1.cc
new file mode 100644 (file)
index 0000000..bdb3a6e
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <tr1/type_traits>
+
+namespace gnu
+{
+  using std::tr1::true_type;
+  using std::tr1::false_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/synopsis.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/synopsis.cc
new file mode 100644 (file)
index 0000000..fe0c2df
--- /dev/null
@@ -0,0 +1,97 @@
+// { dg-do compile }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/random>
+
+namespace std {
+namespace tr1 {
+
+  // [5.1.3] Class template variate_generator
+  template<class UniformRandomNumberGenerator, class Distribution>
+  class variate_generator;
+
+  // [5.1.4.1] Class template linear_congruential
+  template<class IntType, IntType a, IntType c, IntType m>
+  class linear_congruential;
+
+  // [5.1.4.2] Class template mersenne_twister
+  template<class UIntType, int w, int n, int m, int r,
+          UIntType a, int u, int s, UIntType b, int t, UIntType c, int l>
+  class mersenne_twister;
+
+  // [5.1.4.3] Class template subtract_with_carry
+  template<class IntType, IntType m, int s, int r>
+  class subtract_with_carry;
+
+  // [5.1.4.4] Class template subtract_with_carry_01
+  template<class RealType, int w, int s, int r>
+  class subtract_with_carry_01;
+
+  // [5.1.4.5] Class template discard_block
+  template<class UniformRandomNumberGenerator, int p, int r>
+  class discard_block;
+
+  // [5.1.4.6] Class template xor_combine
+  template<class UniformRandomNumberGenerator1, int s1,
+          class UniformRandomNumberGenerator2, int s2>
+  class xor_combine;
+
+  // [5.1.6] Class random_device
+  class random_device;
+
+  // [5.1.7.1] Class template uniform_int
+  template<class IntType>
+  class uniform_int;
+
+  // [5.1.7.2] Class bernoulli_distribution
+  class bernoulli_distribution;
+
+  // [5.1.7.3] Class template geometric_distribution
+  template<class IntType, class RealType>
+  class geometric_distribution;
+
+  // [5.1.7.4] Class template poisson_distribution
+  template<class IntType, class RealType>
+  class poisson_distribution;
+
+  // [5.1.7.5] Class template binomial_distribution
+  template<class IntType, class RealType>
+  class binomial_distribution;
+
+  // [5.1.7.6] Class template uniform_real
+  template<class RealType>
+  class uniform_real;
+
+  // [5.1.7.7] Class template exponential_distribution
+  template<class RealType>
+  class exponential_distribution;
+
+  // [5.1.7.8] Class template normal_distribution
+  template<class RealType>
+  class normal_distribution;
+
+  // [5.1.7.9] Class template gamma_distribution
+  template<class RealType>
+  class gamma_distribution;
+
+} // namespace tr1
+} // namespace std
diff --git a/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/5_numerical_facilities/headers/random/types_std_tr1.cc
new file mode 100644 (file)
index 0000000..2fd2149
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <tr1/random>
+
+namespace gnu
+{
+  using std::tr1::random_device;
+  using std::tr1::bernoulli_distribution;
+}
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/base_classes.cc b/libstdc++-v3/testsuite/tr1/6_containers/hash/requirements/base_classes.cc
new file mode 100644 (file)
index 0000000..4a4916c
--- /dev/null
@@ -0,0 +1,33 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <tr1/functional>
+
+void test01()
+{
+  // Check for required base class.
+  typedef long value_type;
+  typedef std::tr1::hash<value_type> test_type;
+  typedef std::unary_function<value_type, std::size_t> base_type;
+  
+  test_type b;
+  const test_type& obj = b;
+  const base_type* base __attribute__((unused)) = &obj;
+}
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/array/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/array/synopsis.cc
new file mode 100644 (file)
index 0000000..463f3ac
--- /dev/null
@@ -0,0 +1,52 @@
+// { dg-do compile }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/array>
+
+namespace std {
+namespace tr1 {
+
+  // [6.2.2] Class template array
+  template <class T, size_t N > struct array;
+
+  // Array comparisons
+  template <class T, size_t N>  bool  operator==(const array<T,N>& x, const array<T,N>& y);
+  template <class T,  size_t N>  bool  operator!=(const array<T,N>& x, const array<T,N>& y);
+  template <class T,  size_t N>  bool  operator<(const array<T,N>& x, const array<T,N>& y);
+  template <class T,  size_t N>  bool  operator>(const array<T,N>& x, const array<T,N>& y);
+  template <class T,  size_t N>  bool  operator<=(const array<T,N>& x, const array<T,N>& y);
+  template <class T,  size_t N>  bool  operator>=(const array<T,N>& x, const array<T,N>& y);
+
+  // [6.2.2.2] Specialized algorithms
+  template <class T, size_t N > void swap(array<T,N>& x, array<T,N>& y);
+
+  // [6.2.2.5] Tuple interface to class template array
+  template <class T> class tuple_size; // forward declaration
+  template <int I, class T> class tuple_element; // forward declaration
+  template <class T, size_t N>  struct tuple_size<array<T, N> >;
+  template <int I, class T, size_t N> struct tuple_element<I, array<T, N> >;
+  template <int I, class T, size_t N> T& get(array<T, N>&);
+  template <int I, class T, size_t N> const T& get(const array<T, N>&);
+
+} // namespace tr1
+} // namespace std
+
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/functional/synopsis.cc
new file mode 100644 (file)
index 0000000..682593c
--- /dev/null
@@ -0,0 +1,51 @@
+// { dg-do compile }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/functional>
+
+namespace std {
+namespace tr1 {
+
+  // [6.3.3] Hash function base template
+  template <class T> struct hash;
+
+  // Hash function specializations
+  template <> struct hash<bool>;
+  template <> struct hash<char>;
+  template <> struct hash<signed char>;
+  template <> struct hash<unsigned char>;
+  template <> struct hash<wchar_t>;
+  template <> struct hash<short>;
+  template <> struct hash<unsigned short>;
+  template <> struct hash<int>;
+  template <> struct hash<unsigned int>;
+  template <> struct hash<long>;
+  template <> struct hash<unsigned long>;
+  template <> struct hash<float>;
+  template <> struct hash<double>;
+  template <> struct hash<long double>;
+  template<class T> struct hash<T*>;
+  template <> struct hash<std::string>;
+  template <> struct hash<std::wstring>;
+
+} // namespace tr1
+} // namespace std
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/synopsis.cc
new file mode 100644 (file)
index 0000000..72fb929
--- /dev/null
@@ -0,0 +1,71 @@
+// { dg-do compile }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/tuple>
+
+namespace std {
+namespace tr1 {
+
+#if 0
+  // [6.1.3] Class template tuple
+  template <class T1 = unspecified ,
+           class T2 = unspecified ,
+           ...,
+           class TM = unspecified > class tuple;
+
+  // [6.1.3.2] Tuple creation functions
+  const unspecified ignore;
+  template<class T1, class T2, ..., class TN>
+  tuple<V1, V2, ..., VN> make_tuple(const T1&, const T2& , ..., const TN&);
+
+  template<class T1, class T2, ..., class TN>
+  tuple<T1&, T2&, ..., TN&> tie(T1&, T2& , ..., TN&);
+#endif
+
+  // [6.1.3.3] Tuple helper classes
+  template <class T> class tuple_size;
+  template <int I, class T> class tuple_element;
+
+#if 0
+  // [6.1.3.4] Element access
+  template <int I, class T1, class T2, ..., class TN>
+  RJ get(tuple<T1, T2, ..., TN>&);
+  template <int I, class T1, class T2, ..., class TN>
+  PJ get(const tuple<T1, T2, ..., TN>&);
+
+  // [6.1.3.5] relational operators
+  template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
+  bool operator==(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
+  template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
+  bool operator<(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
+  template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
+  bool operator!=(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
+  template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
+  bool operator>(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
+  template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
+  bool operator<=(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
+  template<class T1, class T2, ..., class TM, class U1, class U2, ..., class UM>
+  bool operator>=(const tuple<T1, T2, ..., TM>&, const tuple<U1, U2, ..., UM>&);
+#endif
+
+} // namespace tr1
+} // namespace std
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/tuple/types_std_tr1.cc
new file mode 100644 (file)
index 0000000..2c543f0
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <tr1/tuple>
+
+namespace gnu
+{
+  using std::tr1::ignore;
+}
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_map/synopsis.cc
new file mode 100644 (file)
index 0000000..45080fc
--- /dev/null
@@ -0,0 +1,54 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/unordered_map>
+
+namespace std {
+namespace tr1 {
+
+  // [6.3.4.4] Class template unordered_map
+  template <class Key,
+           class T,
+           class Hash,
+           class Pred,
+           class Alloc>
+  class unordered_map;
+
+  // [6.3.4.6] Class template unordered_multimap
+  template <class Key,
+           class T,
+           class Hash,
+           class Pred,
+           class Alloc>
+  class unordered_multimap;
+
+template <class Key, class T, class Hash, class Pred, class Alloc>
+  void swap(unordered_map<Key, T, Hash, Pred, Alloc>& x,
+            unordered_map<Key, T, Hash, Pred, Alloc>& y);
+template <class Key, class T, class Hash, class Pred, class Alloc>
+  void swap(unordered_multimap<Key, T, Hash, Pred, Alloc>& x,
+            unordered_multimap<Key, T, Hash, Pred, Alloc>& y);
+
+} // namespace tr1
+} // namespace std
+
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc b/libstdc++-v3/testsuite/tr1/6_containers/headers/unordered_set/synopsis.cc
new file mode 100644 (file)
index 0000000..29cced0
--- /dev/null
@@ -0,0 +1,53 @@
+// { dg-do compile { xfail *-*-* } }
+// { dg-excess-errors "" }
+
+// 2007-02-04  Benjamin Kosnik  <bkoz@redhat.com>
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+#include <tr1/unordered_set>
+
+namespace std {
+namespace tr1 {
+
+  // [6.3.4.3] Class template unordered_set
+  template <class Value,
+           class Hash,
+           class Pred,
+           class Alloc>
+     class unordered_set;
+
+  // [6.3.4.5] Class template unordered_multiset
+  template <class Value,
+           class Hash,
+           class Pred,
+           class Alloc>
+     class unordered_multiset;
+
+  template <class Value, class Hash, class Pred, class Alloc>
+     void swap(unordered_set<Value, Hash, Pred, Alloc>& x,
+              unordered_set<Value, Hash, Pred, Alloc>& y);
+
+  template <class Value, class Hash, class Pred, class Alloc>
+     void swap(unordered_multiset<Value, Hash, Pred, Alloc>& x,
+              unordered_multiset<Value, Hash, Pred, Alloc>& y);
+
+} // namespace tr1
+} // namespace std
+
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/requirements/explicit_instantiation.cc
new file mode 100644 (file)
index 0000000..c2a2321
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING.  If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// This file tests explicit instantiation of library containers.
+
+#include <tr1/tuple>
+
+template class std::tr1::tuple<short, int, double>;
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/23781.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/23781.cc
deleted file mode 100644 (file)
index a547993..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// 2005-09-10  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-//
-// As a special exception, you may use this file as part of a free software
-// library without restriction.  Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License.  This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-// { dg-do compile }
-
-// libstdc++/23781
-#include <tr1/unordered_map>
-#include <tr1/unordered_set>
-
-std::tr1::unordered_map<int, int>::iterator it1 = NULL; // { dg-error "conversion" }
-std::tr1::unordered_map<int, int>::const_iterator cit1 = NULL; // { dg-error "conversion" }
-std::tr1::unordered_multimap<int, int>::iterator it2 = NULL; // { dg-error "conversion" }
-std::tr1::unordered_multimap<int, int>::const_iterator cit2 = NULL; // { dg-error "conversion" }
-std::tr1::unordered_multiset<int>::iterator it3 = NULL; // { dg-error "conversion" }
-std::tr1::unordered_multiset<int>::const_iterator cit3 = NULL; // { dg-error "conversion" }
-std::tr1::unordered_set<int>::iterator it4 = NULL; // { dg-error "conversion" }
-std::tr1::unordered_set<int>::const_iterator cit4 = NULL; // { dg-error "conversion" }
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/requirements/iterator_null_neg.cc
new file mode 100644 (file)
index 0000000..8031c6d
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-09-10  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+//
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// { dg-do compile }
+
+// libstdc++/23781
+#include <tr1/unordered_map>
+
+std::tr1::unordered_map<int, int>::iterator it1 = NULL; // { dg-error "conversion" }
+std::tr1::unordered_map<int, int>::const_iterator cit1 = NULL; // { dg-error "conversion" }
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/requirements/iterator_null_neg.cc
new file mode 100644 (file)
index 0000000..72b9505
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-09-10  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+//
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// { dg-do compile }
+
+// libstdc++/23781
+#include <tr1/unordered_map>
+
+std::tr1::unordered_multimap<int, int>::iterator it2 = NULL; // { dg-error "conversion" }
+std::tr1::unordered_multimap<int, int>::const_iterator cit2 = NULL; // { dg-error "conversion" }
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/requirements/iterator_null_neg.cc
new file mode 100644 (file)
index 0000000..46d79ad
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-09-10  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+//
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// { dg-do compile }
+
+// libstdc++/23781
+#include <tr1/unordered_set>
+
+std::tr1::unordered_multiset<int>::iterator it3 = NULL; // { dg-error "conversion" }
+std::tr1::unordered_multiset<int>::const_iterator cit3 = NULL; // { dg-error "conversion" }
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_null_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/requirements/iterator_null_neg.cc
new file mode 100644 (file)
index 0000000..aca08c9
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-09-10  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+//
+// As a special exception, you may use this file as part of a free software
+// library without restriction.  Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License.  This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// { dg-do compile }
+
+// libstdc++/23781
+#include <tr1/unordered_set>
+
+std::tr1::unordered_set<int>::iterator it4 = NULL; // { dg-error "conversion" }
+std::tr1::unordered_set<int>::const_iterator cit4 = NULL; // { dg-error "conversion" }
diff --git a/libstdc++-v3/testsuite/tr1/using_namespace_std_tr1.cc b/libstdc++-v3/testsuite/tr1/using_namespace_std_tr1.cc
new file mode 100644 (file)
index 0000000..21fc682
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <tr1/tuple>
+
+namespace gnu
+{
+  using namespace std::tr1;
+}