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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122168
138bc75d-0d04-0410-961f-
82ee72b054a4
+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)
+++ /dev/null
-// 2001-02-06 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.
-
-// 17.4.1.2 Headers, csetjmp
-
-#include <csetjmp>
-
-namespace gnu
-{
- void test01()
- {
- std::jmp_buf env;
- int i __attribute__((unused)) = setjmp(env);
-#ifndef setjmp
- #error "setjmp_must_be_a_macro"
-#endif
- }
-}
-
-int main()
-{
- gnu::test01();
- return 0;
-}
+++ /dev/null
-// 2000-01-01 bkoz
-
-// 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.
-
-// 17.4.1.2 Headers, cwchar
-
-#include <cwchar>
-
-int main(void)
-{
- // Make sure size_t is in namespace std
- std::size_t i __attribute__((unused)) = 5;
-
- std::tm __attribute__((unused)) mytime;
-
- return 0;
-}
+++ /dev/null
-// 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;
-}
-
--- /dev/null
+// { 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>
+// { 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; }
--- /dev/null
+// { 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>
+++ /dev/null
-// 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; }
-
-
-
-
-
-
+++ /dev/null
-// 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; }
-// 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;
}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+
+}
-// 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;
}
-// 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
}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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
+}
--- /dev/null
+// { 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;
+}
-// 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
}
--- /dev/null
+// { 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;
+}
+// { 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
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
-// 17.4.1.2 Headers, cstddef
-
#include <cstddef>
namespace gnu
int j;
};
+ // offsetof
void test01()
{
std::size_t i __attribute__((unused)) = offsetof(struct test_type, i);
#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
+ }
}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
+// { 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;
}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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();
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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>;
+}
--- /dev/null
+// { 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();
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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> >;
--- /dev/null
+// { 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
+}
-// 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;
}
--- /dev/null
+// { 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;
+}
+
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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
+}
--- /dev/null
+// { 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;
+}
-// 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 <ctime>
-int main(void)
+namespace gnu
{
- // Make sure size_t is in namespace std
- std::size_t i __attribute__((unused)) = 5;
- return 0;
+ 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;
}
--- /dev/null
+// { 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
+}
-// 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;
}
--- /dev/null
+// { 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);
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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>&);
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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>;
--- /dev/null
+// { 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>;
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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>;
+// { 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
{
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;
-}
--- /dev/null
+// { 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>;
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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
+{
+#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
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
--- /dev/null
+// { 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;
+}
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;
}
#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>;
--- /dev/null
+// { 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;
+}
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;
}
--- /dev/null
+// { 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>;
--- /dev/null
+// { 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;
+}
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;
}
#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>;
--- /dev/null
+// { 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;
+}
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;
}
--- /dev/null
+// { 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>;
--- /dev/null
+// { 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;
+}
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;
}
--- /dev/null
+// { 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,