2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
authorBenjamin Kosnik <bkoz@redhat.com>
Mon, 30 Apr 2007 22:41:00 +0000 (22:41 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Mon, 30 Apr 2007 22:41:00 +0000 (22:41 +0000)
Directory layout flattening.

From-SVN: r124307

258 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_all_extents.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/24808.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/static_definition.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/static_definition.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_type_typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/24808.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/24808.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/24808.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/24809.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_class/is_class.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_class/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/24808.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/24808.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_union/is_union.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_union/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/requirements/explicit_instantiations.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_virtual_destructor/has_virtual_destructor.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_virtual_destructor/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/24809.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc [deleted file]
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc [deleted file]

index 27f02b57cd45ef483bcf2a625af34cf36e65ffdc..885a7865ad660d5e458db387d9fb69f9d82990da 100644 (file)
@@ -1,3 +1,597 @@
+2007-04-30  Benjamin Kosnik  <bkoz@redhat.com>
+
+       Directory layout flattening.
+
+       Added in testsuite:
+       * tr1/4_metaprogramming/add_const
+       * tr1/4_metaprogramming/add_const/requirements
+       * tr1/4_metaprogramming/add_const/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/add_const/requirements/typedefs.cc
+       * tr1/4_metaprogramming/add_cv
+       * tr1/4_metaprogramming/add_cv/requirements
+       * tr1/4_metaprogramming/add_cv/requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/add_cv/requirements/typedefs.cc
+       * tr1/4_metaprogramming/add_pointer
+       * tr1/4_metaprogramming/add_pointer/requirements
+       * tr1/4_metaprogramming/add_pointer/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/add_pointer/requirements/typedefs.cc
+       * tr1/4_metaprogramming/add_reference
+       * tr1/4_metaprogramming/add_reference/requirements
+       * tr1/4_metaprogramming/add_reference/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/add_reference/requirements/typedefs.cc
+       * tr1/4_metaprogramming/add_volatile
+       * tr1/4_metaprogramming/add_volatile/requirements
+       * tr1/4_metaprogramming/add_volatile/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/add_volatile/requirements/typedefs.cc
+       * tr1/4_metaprogramming/aligned_storage
+       * tr1/4_metaprogramming/aligned_storage/requirements
+       * tr1/4_metaprogramming/aligned_storage/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/aligned_storage/requirements/typedefs.cc
+       * tr1/4_metaprogramming/alignment_of
+       * tr1/4_metaprogramming/alignment_of/requirements
+       * tr1/4_metaprogramming/alignment_of/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/alignment_of/requirements/typedefs.cc
+       * tr1/4_metaprogramming/alignment_of/value.cc
+       * tr1/4_metaprogramming/extent
+       * tr1/4_metaprogramming/extent/requirements
+       * tr1/4_metaprogramming/extent/requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/extent/requirements/typedefs.cc
+       * tr1/4_metaprogramming/extent/value.cc
+       * tr1/4_metaprogramming/has_nothrow_assign
+       * tr1/4_metaprogramming/has_nothrow_assign/requirements
+       * tr1/4_metaprogramming/has_nothrow_assign/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/has_nothrow_assign/requirements/typedefs.cc
+       * tr1/4_metaprogramming/has_nothrow_assign/value.cc
+       * tr1/4_metaprogramming/has_nothrow_constructor
+       * tr1/4_metaprogramming/has_nothrow_constructor/requirements
+       * tr1/4_metaprogramming/has_nothrow_constructor/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/has_nothrow_constructor/
+       requirements/typedefs.cc
+       * tr1/4_metaprogramming/has_nothrow_constructor/value.cc
+       * tr1/4_metaprogramming/has_nothrow_copy
+       * tr1/4_metaprogramming/has_nothrow_copy/requirements
+       * tr1/4_metaprogramming/has_nothrow_copy/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/has_nothrow_copy/requirements/typedefs.cc
+       * tr1/4_metaprogramming/has_nothrow_copy/value.cc
+       * tr1/4_metaprogramming/has_trivial_assign
+       * tr1/4_metaprogramming/has_trivial_assign/requirements
+       * tr1/4_metaprogramming/has_trivial_assign/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/has_trivial_assign/requirements/typedefs.cc
+       * tr1/4_metaprogramming/has_trivial_assign/value.cc
+       * tr1/4_metaprogramming/has_trivial_constructor
+       * tr1/4_metaprogramming/has_trivial_constructor/requirements
+       * tr1/4_metaprogramming/has_trivial_constructor/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/has_trivial_constructor/
+       requirements/typedefs.cc
+       * tr1/4_metaprogramming/has_trivial_constructor/value.cc
+       * tr1/4_metaprogramming/has_trivial_copy
+       * tr1/4_metaprogramming/has_trivial_copy/requirements
+       * tr1/4_metaprogramming/has_trivial_copy/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/has_trivial_copy/requirements/typedefs.cc
+       * tr1/4_metaprogramming/has_trivial_copy/value.cc
+       * tr1/4_metaprogramming/has_trivial_destructor
+       * tr1/4_metaprogramming/has_trivial_destructor/requirements
+       * tr1/4_metaprogramming/has_trivial_destructor/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/has_trivial_destructor/requirements/typedefs.cc
+       * tr1/4_metaprogramming/has_trivial_destructor/value.cc
+       * tr1/4_metaprogramming/has_virtual_destructor
+       * tr1/4_metaprogramming/has_virtual_destructor/requirements
+       * tr1/4_metaprogramming/has_virtual_destructor/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/has_virtual_destructor/requirements/typedefs.cc
+       * tr1/4_metaprogramming/has_virtual_destructor/value.cc
+       * tr1/4_metaprogramming/integral_constant
+       * tr1/4_metaprogramming/integral_constant/requirements
+       * tr1/4_metaprogramming/integral_constant/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/integral_constant/requirements/typedefs.cc
+       * tr1/4_metaprogramming/integral_constant/true_false_value.cc
+       * tr1/4_metaprogramming/is_abstract
+       * tr1/4_metaprogramming/is_abstract/requirements
+       * tr1/4_metaprogramming/is_abstract/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_abstract/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_abstract/value.cc
+       * tr1/4_metaprogramming/is_arithmetic
+       * tr1/4_metaprogramming/is_arithmetic/requirements
+       * tr1/4_metaprogramming/is_arithmetic/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_arithmetic/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_arithmetic/value.cc
+       * tr1/4_metaprogramming/is_array
+       * tr1/4_metaprogramming/is_array/requirements
+       * tr1/4_metaprogramming/is_array/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_array/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_array/value.cc
+       * tr1/4_metaprogramming/is_base_of
+       * tr1/4_metaprogramming/is_base_of/requirements
+       * tr1/4_metaprogramming/is_base_of/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_base_of/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_base_of/value.cc
+       * tr1/4_metaprogramming/is_class
+       * tr1/4_metaprogramming/is_class/requirements
+       * tr1/4_metaprogramming/is_class/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_class/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_class/value.cc
+       * tr1/4_metaprogramming/is_compound
+       * tr1/4_metaprogramming/is_compound/requirements
+       * tr1/4_metaprogramming/is_compound/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_compound/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_compound/value.cc
+       * tr1/4_metaprogramming/is_const
+       * tr1/4_metaprogramming/is_const/requirements
+       * tr1/4_metaprogramming/is_const/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_const/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_const/value.cc
+       * tr1/4_metaprogramming/is_convertible
+       * tr1/4_metaprogramming/is_convertible/requirements
+       * tr1/4_metaprogramming/is_convertible/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_convertible/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_convertible/value.cc
+       * tr1/4_metaprogramming/is_empty
+       * tr1/4_metaprogramming/is_empty/requirements
+       * tr1/4_metaprogramming/is_empty/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_empty/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_empty/value.cc
+       * tr1/4_metaprogramming/is_enum
+       * tr1/4_metaprogramming/is_enum/requirements
+       * tr1/4_metaprogramming/is_enum/requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_enum/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_enum/value.cc
+       * tr1/4_metaprogramming/is_floating_point
+       * tr1/4_metaprogramming/is_floating_point/requirements
+       * tr1/4_metaprogramming/is_floating_point/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_floating_point/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_floating_point/value.cc
+       * tr1/4_metaprogramming/is_function
+       * tr1/4_metaprogramming/is_function/requirements
+       * tr1/4_metaprogramming/is_function/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_function/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_function/value.cc
+       * tr1/4_metaprogramming/is_fundamental
+       * tr1/4_metaprogramming/is_fundamental/requirements
+       * tr1/4_metaprogramming/is_fundamental/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_fundamental/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_fundamental/value.cc
+       * tr1/4_metaprogramming/is_integral
+       * tr1/4_metaprogramming/is_integral/requirements
+       * tr1/4_metaprogramming/is_integral/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_integral/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_integral/value.cc
+       * tr1/4_metaprogramming/is_member_function_pointer
+       * tr1/4_metaprogramming/is_member_function_pointer/requirements
+       * tr1/4_metaprogramming/is_member_function_pointer/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_member_function_pointer/
+       requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_member_function_pointer/value.cc
+       * tr1/4_metaprogramming/is_member_object_pointer
+       * tr1/4_metaprogramming/is_member_object_pointer/requirements
+       * tr1/4_metaprogramming/is_member_object_pointer/
+       requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_member_object_pointer/
+       requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_member_object_pointer/value.cc
+       * tr1/4_metaprogramming/is_member_pointer
+       * tr1/4_metaprogramming/is_member_pointer/requirements
+       * tr1/4_metaprogramming/is_member_pointer/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_member_pointer/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_member_pointer/value.cc
+       * tr1/4_metaprogramming/is_object
+       * tr1/4_metaprogramming/is_object/requirements
+       * tr1/4_metaprogramming/is_object/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_object/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_object/value.cc
+       * tr1/4_metaprogramming/is_pod
+       * tr1/4_metaprogramming/is_pod/requirements
+       * tr1/4_metaprogramming/is_pod/requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_pod/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_pod/value.cc
+       * tr1/4_metaprogramming/is_pointer
+       * tr1/4_metaprogramming/is_pointer/requirements
+       * tr1/4_metaprogramming/is_pointer/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_pointer/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_pointer/value.cc
+       * tr1/4_metaprogramming/is_polymorphic
+       * tr1/4_metaprogramming/is_polymorphic/requirements
+       * tr1/4_metaprogramming/is_polymorphic/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_polymorphic/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_polymorphic/value.cc
+       * tr1/4_metaprogramming/is_reference
+       * tr1/4_metaprogramming/is_reference/requirements
+       * tr1/4_metaprogramming/is_reference/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_reference/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_reference/value.cc
+       * tr1/4_metaprogramming/is_same
+       * tr1/4_metaprogramming/is_same/requirements
+       * tr1/4_metaprogramming/is_same/requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_same/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_same/value.cc
+       * tr1/4_metaprogramming/is_scalar
+       * tr1/4_metaprogramming/is_scalar/requirements
+       * tr1/4_metaprogramming/is_scalar/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_scalar/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_scalar/value.cc
+       * tr1/4_metaprogramming/is_signed
+       * tr1/4_metaprogramming/is_signed/requirements
+       * tr1/4_metaprogramming/is_signed/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_signed/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_signed/value.cc
+       * tr1/4_metaprogramming/is_union
+       * tr1/4_metaprogramming/is_union/requirements
+       * tr1/4_metaprogramming/is_union/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_union/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_union/value.cc
+       * tr1/4_metaprogramming/is_unsigned
+       * tr1/4_metaprogramming/is_unsigned/requirements
+       * tr1/4_metaprogramming/is_unsigned/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_unsigned/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_unsigned/value.cc
+       * tr1/4_metaprogramming/is_void
+       * tr1/4_metaprogramming/is_void/requirements
+       * tr1/4_metaprogramming/is_void/requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_void/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_void/value.cc
+       * tr1/4_metaprogramming/is_volatile
+       * tr1/4_metaprogramming/is_volatile/requirements
+       * tr1/4_metaprogramming/is_volatile/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/is_volatile/requirements/typedefs.cc
+       * tr1/4_metaprogramming/is_volatile/value.cc
+       * tr1/4_metaprogramming/rank
+       * tr1/4_metaprogramming/rank/requirements
+       * tr1/4_metaprogramming/rank/requirements/explicit_instantiations.cc
+       * tr1/4_metaprogramming/rank/requirements/typedefs.cc
+       * tr1/4_metaprogramming/rank/value.cc
+       * tr1/4_metaprogramming/remove_all_extents
+       * tr1/4_metaprogramming/remove_all_extents/requirements
+       * tr1/4_metaprogramming/remove_all_extents/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/remove_all_extents/value.cc
+       * tr1/4_metaprogramming/remove_const
+       * tr1/4_metaprogramming/remove_const/requirements
+       * tr1/4_metaprogramming/remove_const/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/remove_const/value.cc
+       * tr1/4_metaprogramming/remove_cv
+       * tr1/4_metaprogramming/remove_cv/requirements
+       * tr1/4_metaprogramming/remove_cv/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/remove_cv/value.cc
+       * tr1/4_metaprogramming/remove_extent
+       * tr1/4_metaprogramming/remove_extent/requirements
+       * tr1/4_metaprogramming/remove_extent/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/remove_extent/value.cc
+       * tr1/4_metaprogramming/remove_pointer
+       * tr1/4_metaprogramming/remove_pointer/requirements
+       * tr1/4_metaprogramming/remove_pointer/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/remove_pointer/value.cc
+       * tr1/4_metaprogramming/remove_reference
+       * tr1/4_metaprogramming/remove_reference/requirements
+       * tr1/4_metaprogramming/remove_reference/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/remove_reference/value.cc
+       * tr1/4_metaprogramming/remove_volatile
+       * tr1/4_metaprogramming/remove_volatile/requirements
+       * tr1/4_metaprogramming/remove_volatile/requirements/
+       explicit_instantiations.cc
+       * tr1/4_metaprogramming/remove_volatile/value.cc
+
+       Deleted in testsuite:   
+       * tr1/4_metaprogramming/alignment_of/alignment_of.cc
+       * tr1/4_metaprogramming/alignment_of/typedefs.cc
+       * tr1/4_metaprogramming/array_modifications
+       * tr1/4_metaprogramming/array_modifications/remove_all_extents.cc
+       * tr1/4_metaprogramming/array_modifications/remove_extent.cc
+       * tr1/4_metaprogramming/composite_type_traits
+       * tr1/4_metaprogramming/composite_type_traits/is_arithmetic
+       * tr1/4_metaprogramming/composite_type_traits/is_arithmetic/
+       is_arithmetic.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_compound
+       * tr1/4_metaprogramming/composite_type_traits/is_compound/
+       is_compound.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_fundamental
+       * tr1/4_metaprogramming/composite_type_traits/is_fundamental/
+       is_fundamental.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_fundamental/
+       typedefs.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_member_pointer
+       * tr1/4_metaprogramming/composite_type_traits/is_member_pointer/
+       is_member_pointer.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_member_pointer/
+       typedefs.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_object
+       * tr1/4_metaprogramming/composite_type_traits/is_object/24808.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_scalar
+       * tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc
+       * tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc
+       * tr1/4_metaprogramming/const_volatile_modifications
+       * tr1/4_metaprogramming/const_volatile_modifications/add_const.cc
+       * tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc
+       * tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc
+       * tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc
+       * tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc
+       * tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc
+       * tr1/4_metaprogramming/extent/extent.cc
+       * tr1/4_metaprogramming/extent/typedefs.cc
+       * tr1/4_metaprogramming/has_nothrow_assign/has_nothrow_assign.cc
+       * tr1/4_metaprogramming/has_nothrow_assign/typedefs.cc
+       * tr1/4_metaprogramming/has_nothrow_constructor/
+       has_nothrow_constructor.cc
+       * tr1/4_metaprogramming/has_nothrow_constructor/typedefs.cc
+       * tr1/4_metaprogramming/has_nothrow_copy/has_nothrow_copy.cc
+       * tr1/4_metaprogramming/has_nothrow_copy/typedefs.cc
+       * tr1/4_metaprogramming/has_trivial_assign/has_trivial_assign.cc
+       * tr1/4_metaprogramming/has_trivial_assign/typedefs.cc
+       * tr1/4_metaprogramming/has_trivial_constructor/
+       has_trivial_constructor.cc
+       * tr1/4_metaprogramming/has_trivial_constructor/typedefs.cc
+       * tr1/4_metaprogramming/has_trivial_copy/has_trivial_copy.cc
+       * tr1/4_metaprogramming/has_trivial_copy/typedefs.cc
+       * tr1/4_metaprogramming/has_trivial_destructor/
+       has_trivial_destructor.cc
+       * tr1/4_metaprogramming/has_trivial_destructor/typedefs.cc
+       * tr1/4_metaprogramming/has_virtual_destructor/
+       has_virtual_destructor.cc
+       * tr1/4_metaprogramming/has_virtual_destructor/typedefs.cc
+       * tr1/4_metaprogramming/helper_classes
+       * tr1/4_metaprogramming/helper_classes/static_definition.cc
+       * tr1/4_metaprogramming/helper_classes/true_false_type.cc
+       * tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc
+       * tr1/4_metaprogramming/helper_classes/typedefs.cc
+       * tr1/4_metaprogramming/integral_constant/true_false_type.cc
+       * tr1/4_metaprogramming/integral_constant/typedefs.cc
+       * tr1/4_metaprogramming/is_abstract/is_abstract.cc
+       * tr1/4_metaprogramming/is_abstract/typedefs.cc
+       * tr1/4_metaprogramming/is_arithmetic/is_arithmetic.cc
+       * tr1/4_metaprogramming/is_arithmetic/typedefs.cc
+       * tr1/4_metaprogramming/is_array/is_array.cc
+       * tr1/4_metaprogramming/is_array/typedefs.cc
+       * tr1/4_metaprogramming/is_base_of/is_base_of.cc
+       * tr1/4_metaprogramming/is_base_of/typedefs.cc
+       * tr1/4_metaprogramming/is_class/is_class.cc
+       * tr1/4_metaprogramming/is_class/typedefs.cc
+       * tr1/4_metaprogramming/is_compound/is_compound.cc
+       * tr1/4_metaprogramming/is_compound/typedefs.cc
+       * tr1/4_metaprogramming/is_const/is_const.cc
+       * tr1/4_metaprogramming/is_const/typedefs.cc
+       * tr1/4_metaprogramming/is_convertible/is_convertible.cc
+       * tr1/4_metaprogramming/is_convertible/typedefs.cc
+       * tr1/4_metaprogramming/is_empty/is_empty.cc
+       * tr1/4_metaprogramming/is_empty/typedefs.cc
+       * tr1/4_metaprogramming/is_enum/is_enum.cc
+       * tr1/4_metaprogramming/is_enum/typedefs.cc
+       * tr1/4_metaprogramming/is_floating_point/is_floating_point.cc
+       * tr1/4_metaprogramming/is_floating_point/typedefs.cc
+       * tr1/4_metaprogramming/is_function/is_function.cc
+       * tr1/4_metaprogramming/is_function/typedefs.cc
+       * tr1/4_metaprogramming/is_fundamental/is_fundamental.cc
+       * tr1/4_metaprogramming/is_fundamental/typedefs.cc
+       * tr1/4_metaprogramming/is_integral/is_integral.cc
+       * tr1/4_metaprogramming/is_integral/typedefs.cc
+       * tr1/4_metaprogramming/is_member_function_pointer/
+       is_member_function_pointer.cc
+       * tr1/4_metaprogramming/is_member_function_pointer/typedefs.cc
+       * tr1/4_metaprogramming/is_member_object_pointer/
+       is_member_object_pointer.cc
+       * tr1/4_metaprogramming/is_member_object_pointer/typedefs.cc
+       * tr1/4_metaprogramming/is_member_pointer/is_member_pointer.cc
+       * tr1/4_metaprogramming/is_member_pointer/typedefs.cc
+       * tr1/4_metaprogramming/is_object/is_object.cc
+       * tr1/4_metaprogramming/is_object/typedefs.cc
+       * tr1/4_metaprogramming/is_pod/is_pod.cc
+       * tr1/4_metaprogramming/is_pod/typedefs.cc
+       * tr1/4_metaprogramming/is_pointer/is_pointer.cc
+       * tr1/4_metaprogramming/is_pointer/typedefs.cc
+       * tr1/4_metaprogramming/is_polymorphic/is_polymorphic.cc
+       * tr1/4_metaprogramming/is_polymorphic/typedefs.cc
+       * tr1/4_metaprogramming/is_reference/is_reference.cc
+       * tr1/4_metaprogramming/is_reference/typedefs.cc
+       * tr1/4_metaprogramming/is_same/is_same.cc
+       * tr1/4_metaprogramming/is_same/typedefs.cc
+       * tr1/4_metaprogramming/is_scalar/is_scalar.cc
+       * tr1/4_metaprogramming/is_scalar/typedefs.cc
+       * tr1/4_metaprogramming/is_signed/is_signed.cc
+       * tr1/4_metaprogramming/is_signed/typedefs.cc
+       * tr1/4_metaprogramming/is_union/is_union.cc
+       * tr1/4_metaprogramming/is_union/typedefs.cc
+       * tr1/4_metaprogramming/is_unsigned/is_unsigned.cc
+       * tr1/4_metaprogramming/is_unsigned/typedefs.cc
+       * tr1/4_metaprogramming/is_void/is_void.cc
+       * tr1/4_metaprogramming/is_void/typedefs.cc
+       * tr1/4_metaprogramming/is_volatile/is_volatile.cc
+       * tr1/4_metaprogramming/is_volatile/typedefs.cc
+       * tr1/4_metaprogramming/other_transformations
+       * tr1/4_metaprogramming/other_transformations/aligned_storage
+       * tr1/4_metaprogramming/other_transformations/aligned_storage/
+       aligned_storage.cc
+       * tr1/4_metaprogramming/other_transformations/aligned_storage/
+       typedefs.cc
+       * tr1/4_metaprogramming/pointer_modifications
+       * tr1/4_metaprogramming/pointer_modifications/add_pointer.cc
+       * tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc
+       * tr1/4_metaprogramming/primary_type_categories
+       * tr1/4_metaprogramming/primary_type_categories/is_array
+       * tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_class
+       * tr1/4_metaprogramming/primary_type_categories/is_class/is_class.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_class/typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_enum
+       * tr1/4_metaprogramming/primary_type_categories/is_enum/24808.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_floating_point
+       * tr1/4_metaprogramming/primary_type_categories/is_floating_point/
+       is_floating_point.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_floating_point/
+       typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_function
+       * tr1/4_metaprogramming/primary_type_categories/is_function/24808.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_function/
+       is_function.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_integral
+       * tr1/4_metaprogramming/primary_type_categories/is_integral/
+       is_integral.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/
+       is_member_function_pointer
+       * tr1/4_metaprogramming/primary_type_categories/
+       is_member_function_pointer/is_member_function_pointer.cc
+       * tr1/4_metaprogramming/primary_type_categories/
+       is_member_function_pointer/typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/
+       is_member_object_pointer
+       * tr1/4_metaprogramming/primary_type_categories/
+       is_member_object_pointer/is_member_object_pointer.cc
+       * tr1/4_metaprogramming/primary_type_categories/
+       is_member_object_pointer/typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_pointer
+       * tr1/4_metaprogramming/primary_type_categories/is_pointer/
+       is_pointer.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_reference
+       * tr1/4_metaprogramming/primary_type_categories/is_reference/
+       is_reference.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_reference/
+       typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_union
+       * tr1/4_metaprogramming/primary_type_categories/is_union/is_union.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_union/typedefs.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_void
+       * tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc
+       * tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc
+       * tr1/4_metaprogramming/rank/rank.cc
+       * tr1/4_metaprogramming/rank/typedefs.cc
+       * tr1/4_metaprogramming/reference_modifications/add_reference.cc
+       * tr1/4_metaprogramming/reference_modifications/remove_reference.cc
+       * tr1/4_metaprogramming/relationships_between_types
+       * tr1/4_metaprogramming/relationships_between_types/is_base_of
+       * tr1/4_metaprogramming/relationships_between_types/is_base_of/
+       is_base_of.cc
+       * tr1/4_metaprogramming/relationships_between_types/is_base_of/
+       typedefs.cc
+       * tr1/4_metaprogramming/relationships_between_types/is_convertible
+       * tr1/4_metaprogramming/relationships_between_types/is_convertible/
+       is_convertible.cc
+       * tr1/4_metaprogramming/relationships_between_types/is_convertible/
+       typedefs.cc
+       * tr1/4_metaprogramming/relationships_between_types/is_same
+       * tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc
+       * tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc
+       * tr1/4_metaprogramming/type_properties
+       * tr1/4_metaprogramming/type_properties/alignment_of
+       * tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc
+       * tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/extent
+       * tr1/4_metaprogramming/type_properties/extent/extent.cc
+       * tr1/4_metaprogramming/type_properties/extent/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/has_nothrow_assign
+       * tr1/4_metaprogramming/type_properties/has_nothrow_assign/
+       has_nothrow_assign.cc
+       * tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/has_nothrow_constructor
+       * tr1/4_metaprogramming/type_properties/has_nothrow_constructor/
+       has_nothrow_constructor.cc
+       * tr1/4_metaprogramming/type_properties/has_nothrow_constructor/
+       typedefs.cc
+       * tr1/4_metaprogramming/type_properties/has_nothrow_copy
+       * tr1/4_metaprogramming/type_properties/has_nothrow_copy/
+       has_nothrow_copy.cc
+       * tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/has_trivial_assign
+       * tr1/4_metaprogramming/type_properties/has_trivial_assign/
+       has_trivial_assign.cc
+       * tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/has_trivial_constructor
+       * tr1/4_metaprogramming/type_properties/has_trivial_constructor/
+       has_trivial_constructor.cc
+       * tr1/4_metaprogramming/type_properties/has_trivial_constructor/
+       typedefs.cc
+       * tr1/4_metaprogramming/type_properties/has_trivial_copy
+       * tr1/4_metaprogramming/type_properties/has_trivial_copy/
+       has_trivial_copy.cc
+       * tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/has_trivial_destructor
+       * tr1/4_metaprogramming/type_properties/has_trivial_destructor/
+       has_trivial_destructor.cc
+       * tr1/4_metaprogramming/type_properties/has_trivial_destructor/
+       typedefs.cc
+       * tr1/4_metaprogramming/type_properties/has_virtual_destructor
+       * tr1/4_metaprogramming/type_properties/has_virtual_destructor/
+       has_virtual_destructor.cc
+       * tr1/4_metaprogramming/type_properties/has_virtual_destructor/
+       typedefs.cc
+       * tr1/4_metaprogramming/type_properties/is_abstract
+       * tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc
+       * tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/is_const
+       * tr1/4_metaprogramming/type_properties/is_const/is_const.cc
+       * tr1/4_metaprogramming/type_properties/is_const/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/is_empty
+       * tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc
+       * tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/is_pod
+       * tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc
+       * tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/is_polymorphic
+       * tr1/4_metaprogramming/type_properties/is_polymorphic/24809.cc
+       * tr1/4_metaprogramming/type_properties/is_polymorphic/
+       is_polymorphic.cc
+       * tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/is_signed
+       * tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc
+       * tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/is_unsigned
+       * tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc
+       * tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/is_volatile
+       * tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc
+       * tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc
+       * tr1/4_metaprogramming/type_properties/rank
+       * tr1/4_metaprogramming/type_properties/rank/rank.cc
+       * tr1/4_metaprogramming/type_properties/rank/typedefs.cc
+
 2007-04-30  Hans-Peter Nilsson  <hp@axis.com>
 
        * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Correct
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..585d45e
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct add_const<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_const/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..8669098
--- /dev/null
@@ -0,0 +1,54 @@
+// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.1 Const-volatile modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::add_const;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<add_const<int>::type, const int>::value) );
+  VERIFY( (is_same<add_const<volatile int>::type, const volatile int>::value) );
+  VERIFY( (is_same<add_const<int*>::type, int* const>::value) );
+  VERIFY( (is_same<add_const<int&>::type, int&>::value) );
+  VERIFY( (is_same<add_const<int (int)>::type, int (int)>::value) );
+  VERIFY( (is_same<add_const<const int>::type, const int>::value) );
+  VERIFY( (is_same<add_const<ClassType>::type, const ClassType>::value) );
+  VERIFY( (is_same<add_const<volatile ClassType>::type,
+          const volatile ClassType>::value) );
+  VERIFY( (is_same<add_const<ClassType*>::type, ClassType* const>::value) );
+  VERIFY( (is_same<add_const<ClassType&>::type, ClassType&>::value) );
+  VERIFY( (is_same<add_const<ClassType (ClassType)>::type,
+          ClassType (ClassType)>::value) );
+  VERIFY( (is_same<add_const<const ClassType>::type, const ClassType>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..478f05b
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct add_cv<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_cv/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..c197501
--- /dev/null
@@ -0,0 +1,57 @@
+// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.1 Const-volatile modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::add_cv;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<add_cv<int>::type, const volatile int>::value) );
+  VERIFY( (is_same<add_cv<const int>::type, const volatile int>::value) );
+  VERIFY( (is_same<add_cv<int*>::type, int* const volatile>::value) );
+  VERIFY( (is_same<add_cv<int&>::type, int&>::value) );
+  VERIFY( (is_same<add_cv<int (int)>::type, int (int)>::value) );
+  VERIFY( (is_same<add_cv<const volatile int>::type,
+          const volatile int>::value) );
+  VERIFY( (is_same<add_cv<ClassType>::type, const volatile ClassType>::value) );
+  VERIFY( (is_same<add_cv<volatile ClassType>::type,
+          const volatile ClassType>::value) );
+  VERIFY( (is_same<add_cv<ClassType*>::type,
+          ClassType* const volatile>::value) );
+  VERIFY( (is_same<add_cv<ClassType&>::type, ClassType&>::value) );
+  VERIFY( (is_same<add_cv<ClassType (ClassType)>::type,
+          ClassType (ClassType)>::value) );
+  VERIFY( (is_same<add_cv<const volatile ClassType>::type,
+          const volatile ClassType>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..00ec521
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct add_pointer<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_pointer/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..d87cd2e
--- /dev/null
@@ -0,0 +1,46 @@
+// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.2 Reference modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::add_pointer;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<add_pointer<int>::type, int*>::value) );
+  VERIFY( (is_same<add_pointer<int*>::type, int**>::value) );
+  VERIFY( (is_same<add_pointer<const int>::type, const int*>::value) );
+  VERIFY( (is_same<add_pointer<int&>::type, int*>::value) );
+  VERIFY( (is_same<add_pointer<ClassType*>::type, ClassType**>::value) );
+  VERIFY( (is_same<add_pointer<ClassType>::type, ClassType*>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..fc08b68
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct add_reference<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_reference/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..29ad8c3
--- /dev/null
@@ -0,0 +1,49 @@
+// 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005, 2006 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.
+
+// 4.7.2 Reference modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::add_reference;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<add_reference<int>::type, int&>::value) );
+  VERIFY( (is_same<add_reference<int&>::type, int&>::value) );
+  VERIFY( (is_same<add_reference<const int>::type, const int&>::value) );
+  VERIFY( (is_same<add_reference<int*>::type, int*&>::value) );
+  VERIFY( (is_same<add_reference<ClassType&>::type, ClassType&>::value) );
+  VERIFY( (is_same<add_reference<ClassType>::type, ClassType&>::value) );
+
+  VERIFY( (is_same<add_reference<void>::type, void>::value) );
+  VERIFY( (is_same<add_reference<const void>::type, const void>::value) );  
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..322946b
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct add_volatile<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/add_volatile/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..489b059
--- /dev/null
@@ -0,0 +1,56 @@
+// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.1 Const-volatile modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::add_volatile;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<add_volatile<int>::type, volatile int>::value) );
+  VERIFY( (is_same<add_volatile<const int>::type, const volatile int>::value) );
+  VERIFY( (is_same<add_volatile<int*>::type, int* volatile>::value) );
+  VERIFY( (is_same<add_volatile<int&>::type, int&>::value) );
+  VERIFY( (is_same<add_volatile<int (int)>::type, int (int)>::value) );
+  VERIFY( (is_same<add_volatile<volatile int>::type, volatile int>::value) );
+  VERIFY( (is_same<add_volatile<ClassType>::type, volatile ClassType>::value) );
+  VERIFY( (is_same<add_volatile<const ClassType>::type,
+          const volatile ClassType>::value) );
+  VERIFY( (is_same<add_volatile<ClassType*>::type,
+          ClassType* volatile>::value) );
+  VERIFY( (is_same<add_volatile<ClassType&>::type, ClassType&>::value) );
+  VERIFY( (is_same<add_volatile<ClassType (ClassType)>::type,
+          ClassType (ClassType)>::value) );
+  VERIFY( (is_same<add_volatile<volatile ClassType>::type,
+          volatile ClassType>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..f813d7f
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct aligned_storage<1, alignment_of<test_type>::value>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/aligned_storage/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..bbc336c
--- /dev/null
@@ -0,0 +1,63 @@
+// 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.8 Other transformations
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::aligned_storage;
+  using std::tr1::alignment_of;
+  using namespace __gnu_test;
+  
+  const std::size_t align_c = alignment_of<char>::value;
+  VERIFY( (sizeof(aligned_storage<4, align_c>::type) >= 4) );
+  VERIFY( (__alignof__(aligned_storage<4, align_c>::type) == align_c) );
+
+  const std::size_t align_s = alignment_of<short>::value;
+  VERIFY( (sizeof(aligned_storage<1, align_s>::type) >= 1) );
+  VERIFY( (__alignof__(aligned_storage<1, align_s>::type) == align_s) );
+
+  const std::size_t align_i = alignment_of<int>::value;
+  VERIFY( (sizeof(aligned_storage<7, align_i>::type) >= 7) );
+  VERIFY( (__alignof__(aligned_storage<7, align_i>::type) == align_i) );
+
+  const std::size_t align_d = alignment_of<double>::value;
+  VERIFY( (sizeof(aligned_storage<2, align_d>::type) >= 2) );
+  VERIFY( (__alignof__(aligned_storage<2, align_d>::type) == align_d) );
+
+  const std::size_t align_ai = alignment_of<int[4]>::value;
+  VERIFY( (sizeof(aligned_storage<20, align_ai>::type) >= 20) );
+  VERIFY( (__alignof__(aligned_storage<20, align_ai>::type) == align_ai) );
+
+  const std::size_t align_ct = alignment_of<ClassType>::value;
+  VERIFY( (sizeof(aligned_storage<11, align_ct>::type) >= 11) );
+  VERIFY( (__alignof__(aligned_storage<11, align_ct>::type) == align_ct) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..05f0cc8
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct alignment_of<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..8df7bba
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::alignment_of<int>         test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/alignment_of/value.cc
new file mode 100644 (file)
index 0000000..6da2822
--- /dev/null
@@ -0,0 +1,45 @@
+// 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::alignment_of;
+  using namespace __gnu_test;
+
+  VERIFY( (test_property<alignment_of, char>(__alignof__(char))) );
+  VERIFY( (test_property<alignment_of, short>(__alignof__(short))) );
+  VERIFY( (test_property<alignment_of, int>(__alignof__(int))) );
+  VERIFY( (test_property<alignment_of, double>(__alignof__(double))) );
+  VERIFY( (test_property<alignment_of, int[4]>(__alignof__(int[4]))) );
+  VERIFY( (test_property<alignment_of, ClassType>(__alignof__(ClassType))) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_all_extents.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_all_extents.cc
deleted file mode 100644 (file)
index 8d0504e..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// 2004-12-09  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.3 Array modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::remove_all_extents;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<remove_all_extents<int>::type, int>::value) );
-  VERIFY( (is_same<remove_all_extents<int[2]>::type, int>::value) );
-  VERIFY( (is_same<remove_all_extents<int[2][3]>::type, int>::value) );
-  VERIFY( (is_same<remove_all_extents<int[][3]>::type, int>::value) );
-  VERIFY( (is_same<remove_all_extents<const int[2][3]>::type,
-          const int>::value) );
-  VERIFY( (is_same<remove_all_extents<ClassType>::type, ClassType>::value) );
-  VERIFY( (is_same<remove_all_extents<ClassType[2]>::type, ClassType>::value) );
-  VERIFY( (is_same<remove_all_extents<ClassType[2][3]>::type,
-          ClassType>::value) );
-  VERIFY( (is_same<remove_all_extents<ClassType[][3]>::type,
-          ClassType>::value) );
-  VERIFY( (is_same<remove_all_extents<const ClassType[2][3]>::type,
-          const ClassType>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc
deleted file mode 100644 (file)
index 886f844..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// 2004-12-09  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.3 Array modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::remove_extent;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<remove_extent<int>::type, int>::value) );
-  VERIFY( (is_same<remove_extent<int[2]>::type, int>::value) );
-  VERIFY( (is_same<remove_extent<int[2][3]>::type, int[3]>::value) );
-  VERIFY( (is_same<remove_extent<int[][3]>::type, int[3]>::value) );
-  VERIFY( (is_same<remove_extent<const int[2]>::type, const int>::value) );
-  VERIFY( (is_same<remove_extent<ClassType>::type, ClassType>::value) );
-  VERIFY( (is_same<remove_extent<ClassType[2]>::type, ClassType>::value) );
-  VERIFY( (is_same<remove_extent<ClassType[2][3]>::type,
-          ClassType[3]>::value) );
-  VERIFY( (is_same<remove_extent<ClassType[][3]>::type,
-          ClassType[3]>::value) );
-  VERIFY( (is_same<remove_extent<const ClassType[2]>::type,
-          const ClassType>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc
deleted file mode 100644 (file)
index ddf0854..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.2 Composite type traits
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_arithmetic;
-  using namespace __gnu_test;
-  
-  VERIFY( (test_category<is_arithmetic, void>(false)) );
-
-  VERIFY( (test_category<is_arithmetic, char>(true)) );
-  VERIFY( (test_category<is_arithmetic, signed char>(true)) );
-  VERIFY( (test_category<is_arithmetic, unsigned char>(true)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
-  VERIFY( (test_category<is_arithmetic, wchar_t>(true)) );
-#endif
-  VERIFY( (test_category<is_arithmetic, short>(true)) );
-  VERIFY( (test_category<is_arithmetic, unsigned short>(true)) );
-  VERIFY( (test_category<is_arithmetic, int>(true)) );
-  VERIFY( (test_category<is_arithmetic, unsigned int>(true)) );
-  VERIFY( (test_category<is_arithmetic, long>(true)) );
-  VERIFY( (test_category<is_arithmetic, unsigned long>(true)) );
-  VERIFY( (test_category<is_arithmetic, long long>(true)) );
-  VERIFY( (test_category<is_arithmetic, unsigned long long>(true)) );
-  VERIFY( (test_category<is_arithmetic, float>(true)) );
-  VERIFY( (test_category<is_arithmetic, double>(true)) );
-  VERIFY( (test_category<is_arithmetic, long double>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_arithmetic, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc
deleted file mode 100644 (file)
index 17cd0a0..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_arithmetic<int>        test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc
deleted file mode 100644 (file)
index 1708f58..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.2 Composite type traits
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_compound;
-  using namespace __gnu_test;
-  
-  VERIFY( (test_category<is_compound, void>(false)) );
-  VERIFY( (test_category<is_compound, char>(false)) );
-  VERIFY( (test_category<is_compound, signed char>(false)) );
-  VERIFY( (test_category<is_compound, unsigned char>(false)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
-  VERIFY( (test_category<is_compound, wchar_t>(false)) );
-#endif
-  VERIFY( (test_category<is_compound, short>(false)) );
-  VERIFY( (test_category<is_compound, unsigned short>(false)) );
-  VERIFY( (test_category<is_compound, int>(false)) );
-  VERIFY( (test_category<is_compound, unsigned int>(false)) );
-  VERIFY( (test_category<is_compound, long>(false)) );
-  VERIFY( (test_category<is_compound, unsigned long>(false)) );
-  VERIFY( (test_category<is_compound, long long>(false)) );
-  VERIFY( (test_category<is_compound, unsigned long long>(false)) );
-  VERIFY( (test_category<is_compound, float>(false)) );
-  VERIFY( (test_category<is_compound, double>(false)) );
-  VERIFY( (test_category<is_compound, long double>(false)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_compound, ClassType>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc
deleted file mode 100644 (file)
index 906076e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_compound<int>          test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc
deleted file mode 100644 (file)
index 8a756c5..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.2 Composite type traits
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_fundamental;
-  using namespace __gnu_test;
-  
-  VERIFY( (test_category<is_fundamental, void>(true)) );
-  VERIFY( (test_category<is_fundamental, char>(true)) );
-  VERIFY( (test_category<is_fundamental, signed char>(true)) );
-  VERIFY( (test_category<is_fundamental, unsigned char>(true)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
-  VERIFY( (test_category<is_fundamental, wchar_t>(true)) );
-#endif
-  VERIFY( (test_category<is_fundamental, short>(true)) );
-  VERIFY( (test_category<is_fundamental, unsigned short>(true)) );
-  VERIFY( (test_category<is_fundamental, int>(true)) );
-  VERIFY( (test_category<is_fundamental, unsigned int>(true)) );
-  VERIFY( (test_category<is_fundamental, long>(true)) );
-  VERIFY( (test_category<is_fundamental, unsigned long>(true)) );
-  VERIFY( (test_category<is_fundamental, long long>(true)) );
-  VERIFY( (test_category<is_fundamental, unsigned long long>(true)) );
-  VERIFY( (test_category<is_fundamental, float>(true)) );
-  VERIFY( (test_category<is_fundamental, double>(true)) );
-  VERIFY( (test_category<is_fundamental, long double>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_fundamental, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc
deleted file mode 100644 (file)
index a4744ed..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_fundamental<int>       test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc
deleted file mode 100644 (file)
index 0b194bb..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.2 Composite type traits
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_member_pointer;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_member_pointer, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<is_member_pointer, const int (ClassType::*)>(true)) );
-  VERIFY( (test_category<is_member_pointer, ClassType (ClassType::*)>(true)) );
-
-  VERIFY( (test_category<is_member_pointer,
-          int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<is_member_pointer,
-          int (ClassType::*) (int) const>(true)) );
-  VERIFY( (test_category<is_member_pointer,
-          int (ClassType::*) (float, ...)>(true)) );
-  VERIFY( (test_category<is_member_pointer,
-          ClassType (ClassType::*) (ClassType)>(true)) );
-  VERIFY( (test_category<is_member_pointer,
-          float (ClassType::*) (int, float, int[], int&)>(true)) );
-  
-  // Sanity check.
-  VERIFY( (test_category<is_member_pointer, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc
deleted file mode 100644 (file)
index 65a882c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_member_pointer<int>    test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/24808.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/24808.cc
deleted file mode 100644 (file)
index 70ba016..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.2 Composite type traits
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-// libstdc++/24808
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_object;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_object, IncompleteClass>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc
deleted file mode 100644 (file)
index 6283ece..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.2 Composite type traits
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_object;
-  using namespace __gnu_test;
-  
-  VERIFY( (test_category<is_object, int (int)>(false)) );
-  VERIFY( (test_category<is_object, ClassType (ClassType)>(false)) );
-  VERIFY( (test_category<is_object, float (int, float, int[], int&)>(false)) );
-  VERIFY( (test_category<is_object, int&>(false)) );
-  VERIFY( (test_category<is_object, ClassType&>(false)) );
-  VERIFY( (test_category<is_object, int(&)(int)>(false)) );
-  VERIFY( (test_category<is_object, void>(false)) );
-  VERIFY( (test_category<is_object, const void>(false)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_object, ClassType>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc
deleted file mode 100644 (file)
index 61cf43f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_object<int>            test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc
deleted file mode 100644 (file)
index e0cb20c..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.2 Composite type traits
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_scalar;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_scalar, int>(true)) );
-  VERIFY( (test_category<is_scalar, float>(true)) );
-  VERIFY( (test_category<is_scalar, EnumType>(true)) );
-  VERIFY( (test_category<is_scalar, int*>(true)) );
-  VERIFY( (test_category<is_scalar, int(*)(int)>(true)) );
-  VERIFY( (test_category<is_scalar, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<is_scalar, int (ClassType::*) (int)>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_scalar, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc
deleted file mode 100644 (file)
index b684c7c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_scalar<int>            test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc
deleted file mode 100644 (file)
index 8669098..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.1 Const-volatile modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::add_const;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<add_const<int>::type, const int>::value) );
-  VERIFY( (is_same<add_const<volatile int>::type, const volatile int>::value) );
-  VERIFY( (is_same<add_const<int*>::type, int* const>::value) );
-  VERIFY( (is_same<add_const<int&>::type, int&>::value) );
-  VERIFY( (is_same<add_const<int (int)>::type, int (int)>::value) );
-  VERIFY( (is_same<add_const<const int>::type, const int>::value) );
-  VERIFY( (is_same<add_const<ClassType>::type, const ClassType>::value) );
-  VERIFY( (is_same<add_const<volatile ClassType>::type,
-          const volatile ClassType>::value) );
-  VERIFY( (is_same<add_const<ClassType*>::type, ClassType* const>::value) );
-  VERIFY( (is_same<add_const<ClassType&>::type, ClassType&>::value) );
-  VERIFY( (is_same<add_const<ClassType (ClassType)>::type,
-          ClassType (ClassType)>::value) );
-  VERIFY( (is_same<add_const<const ClassType>::type, const ClassType>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc
deleted file mode 100644 (file)
index c197501..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.1 Const-volatile modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::add_cv;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<add_cv<int>::type, const volatile int>::value) );
-  VERIFY( (is_same<add_cv<const int>::type, const volatile int>::value) );
-  VERIFY( (is_same<add_cv<int*>::type, int* const volatile>::value) );
-  VERIFY( (is_same<add_cv<int&>::type, int&>::value) );
-  VERIFY( (is_same<add_cv<int (int)>::type, int (int)>::value) );
-  VERIFY( (is_same<add_cv<const volatile int>::type,
-          const volatile int>::value) );
-  VERIFY( (is_same<add_cv<ClassType>::type, const volatile ClassType>::value) );
-  VERIFY( (is_same<add_cv<volatile ClassType>::type,
-          const volatile ClassType>::value) );
-  VERIFY( (is_same<add_cv<ClassType*>::type,
-          ClassType* const volatile>::value) );
-  VERIFY( (is_same<add_cv<ClassType&>::type, ClassType&>::value) );
-  VERIFY( (is_same<add_cv<ClassType (ClassType)>::type,
-          ClassType (ClassType)>::value) );
-  VERIFY( (is_same<add_cv<const volatile ClassType>::type,
-          const volatile ClassType>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc
deleted file mode 100644 (file)
index 489b059..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.1 Const-volatile modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::add_volatile;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<add_volatile<int>::type, volatile int>::value) );
-  VERIFY( (is_same<add_volatile<const int>::type, const volatile int>::value) );
-  VERIFY( (is_same<add_volatile<int*>::type, int* volatile>::value) );
-  VERIFY( (is_same<add_volatile<int&>::type, int&>::value) );
-  VERIFY( (is_same<add_volatile<int (int)>::type, int (int)>::value) );
-  VERIFY( (is_same<add_volatile<volatile int>::type, volatile int>::value) );
-  VERIFY( (is_same<add_volatile<ClassType>::type, volatile ClassType>::value) );
-  VERIFY( (is_same<add_volatile<const ClassType>::type,
-          const volatile ClassType>::value) );
-  VERIFY( (is_same<add_volatile<ClassType*>::type,
-          ClassType* volatile>::value) );
-  VERIFY( (is_same<add_volatile<ClassType&>::type, ClassType&>::value) );
-  VERIFY( (is_same<add_volatile<ClassType (ClassType)>::type,
-          ClassType (ClassType)>::value) );
-  VERIFY( (is_same<add_volatile<volatile ClassType>::type,
-          volatile ClassType>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc
deleted file mode 100644 (file)
index 792596e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// 2004-12-10  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.1 Const-volatile modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::remove_const;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<remove_const<const volatile int>::type,
-          volatile int>::value) );
-  VERIFY( (is_same<remove_const<const int*>::type, const int*>::value) );
-  VERIFY( (is_same<remove_const<const volatile ClassType>::type,
-          volatile ClassType>::value) );
-  VERIFY( (is_same<remove_const<const ClassType*>::type,
-          const ClassType*>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc
deleted file mode 100644 (file)
index 1afcc78..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// 2004-12-10  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.1 Const-volatile modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::remove_cv;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<remove_cv<const volatile int>::type, int>::value) );
-  VERIFY( (is_same<remove_cv<const volatile int*>::type,
-          const volatile int*>::value) );
-  VERIFY( (is_same<remove_cv<const volatile ClassType>::type,
-          ClassType>::value) );
-  VERIFY( (is_same<remove_cv<const volatile ClassType*>::type,
-          const volatile ClassType*>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc
deleted file mode 100644 (file)
index 35c3d8e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// 2004-12-10  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.1 Const-volatile modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::remove_volatile;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<remove_volatile<const volatile int>::type,
-          const int>::value) );
-  VERIFY( (is_same<remove_volatile<volatile int*>::type,
-          volatile int*>::value) );
-  VERIFY( (is_same<remove_volatile<const volatile ClassType>::type,
-          const ClassType>::value) );
-  VERIFY( (is_same<remove_volatile<volatile ClassType*>::type,
-          volatile ClassType*>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..bcf77fe
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct extent<test_type, 2>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..c7d4b95
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::extent<int, 1>            test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/extent/value.cc
new file mode 100644 (file)
index 0000000..6ccecac
--- /dev/null
@@ -0,0 +1,57 @@
+// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::extent;
+  using namespace __gnu_test;
+
+  VERIFY( (test_property<extent, int, 0>(0)) );
+  VERIFY( (test_property<extent, int[2], 0>(2)) );
+  VERIFY( (test_property<extent, int[2][4], 0>(2)) );
+  VERIFY( (test_property<extent, int[][4], 0>(0)) );
+  VERIFY( (extent<int, 1>::value == 0) );
+  VERIFY( (extent<int[2], 1>::value == 0) );
+  VERIFY( (extent<int[2][4], 1>::value == 4) );
+  VERIFY( (extent<int[][4], 1>::value == 4) );
+  VERIFY( (extent<int[10][4][6][8][12][2], 4>::value == 12) );
+  VERIFY( (test_property<extent, ClassType, 0>(0)) );
+  VERIFY( (test_property<extent, ClassType[2], 0>(2)) );
+  VERIFY( (test_property<extent, ClassType[2][4], 0>(2)) );
+  VERIFY( (test_property<extent, ClassType[][4], 0>(0)) );
+  VERIFY( (extent<ClassType, 1>::value == 0) );
+  VERIFY( (extent<ClassType[2], 1>::value == 0) );
+  VERIFY( (extent<ClassType[2][4], 1>::value == 4) );
+  VERIFY( (extent<ClassType[][4], 1>::value == 4) );
+  VERIFY( (extent<ClassType[10][4][6][8][12][2], 4>::value == 12) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..b32945f
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct has_nothrow_assign<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..7251a3a
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::has_nothrow_assign<int>   test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc
new file mode 100644 (file)
index 0000000..b74d932
--- /dev/null
@@ -0,0 +1,55 @@
+// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::has_nothrow_assign;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<has_nothrow_assign, void>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, int>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, float>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, EnumType>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, int*>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, int(*)(int)>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, int[2]>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, float[][3]>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, EnumType[2][3][4]>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, int*[3]>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, int(*[][2])(int)>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, int (ClassType::*[2][3])>(true)) );
+  VERIFY( (test_category<has_nothrow_assign, 
+          int (ClassType::*[][2][3]) (int)>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..035747b
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct has_nothrow_constructor<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..9e11984
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-29  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::has_nothrow_constructor<int>    test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc
new file mode 100644 (file)
index 0000000..02743a1
--- /dev/null
@@ -0,0 +1,58 @@
+// 2004-12-29  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005, 2006, 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::has_nothrow_constructor;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<has_nothrow_constructor, void>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, int>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, float>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, EnumType>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, int*>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, int(*)(int)>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor,
+          int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, int[2]>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, float[][3]>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, EnumType[2][3][4]>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, int*[3]>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, int(*[][2])(int)>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor,
+          int (ClassType::*[2][3])>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor,
+          int (ClassType::*[][2][3]) (int)>(true)) );
+  VERIFY( (test_category<has_nothrow_constructor, ClassType>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..f34acd6
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct has_nothrow_copy<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..4ec8cb0
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::has_nothrow_copy<int>     test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc
new file mode 100644 (file)
index 0000000..2ba1d9e
--- /dev/null
@@ -0,0 +1,55 @@
+// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::has_nothrow_copy;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<has_nothrow_copy, void>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, int>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, float>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, EnumType>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, int*>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, int(*)(int)>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, int[2]>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, float[][3]>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, EnumType[2][3][4]>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, int*[3]>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, int(*[][2])(int)>(true)) );
+  VERIFY( (test_category<has_nothrow_copy, int (ClassType::*[2][3])>(true)) );
+  VERIFY( (test_category<has_nothrow_copy,
+          int (ClassType::*[][2][3]) (int)>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..3db6338
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct has_trivial_assign<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..124131d
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::has_trivial_assign<int>   test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc
new file mode 100644 (file)
index 0000000..ac35535
--- /dev/null
@@ -0,0 +1,55 @@
+// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::has_trivial_assign;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<has_trivial_assign, void>(true)) );
+  VERIFY( (test_category<has_trivial_assign, int>(true)) );
+  VERIFY( (test_category<has_trivial_assign, float>(true)) );
+  VERIFY( (test_category<has_trivial_assign, EnumType>(true)) );
+  VERIFY( (test_category<has_trivial_assign, int*>(true)) );
+  VERIFY( (test_category<has_trivial_assign, int(*)(int)>(true)) );
+  VERIFY( (test_category<has_trivial_assign, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<has_trivial_assign, int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<has_trivial_assign, int[2]>(true)) );
+  VERIFY( (test_category<has_trivial_assign, float[][3]>(true)) );
+  VERIFY( (test_category<has_trivial_assign, EnumType[2][3][4]>(true)) );
+  VERIFY( (test_category<has_trivial_assign, int*[3]>(true)) );
+  VERIFY( (test_category<has_trivial_assign, int(*[][2])(int)>(true)) );
+  VERIFY( (test_category<has_trivial_assign, int (ClassType::*[2][3])>(true)) );
+  VERIFY( (test_category<has_trivial_assign,
+          int (ClassType::*[][2][3]) (int)>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..de52f59
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct has_trivial_constructor<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..f6a57fc
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::has_trivial_constructor<int>    test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc
new file mode 100644 (file)
index 0000000..f6b1a1a
--- /dev/null
@@ -0,0 +1,58 @@
+// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005, 2006, 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::has_trivial_constructor;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<has_trivial_constructor, void>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, int>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, float>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, EnumType>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, int*>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, int(*)(int)>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<has_trivial_constructor,
+          int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, int[2]>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, float[][3]>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, EnumType[2][3][4]>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, int*[3]>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, int(*[][2])(int)>(true)) );
+  VERIFY( (test_category<has_trivial_constructor,
+          int (ClassType::*[2][3])>(true)) );
+  VERIFY( (test_category<has_trivial_constructor,
+          int (ClassType::*[][2][3]) (int)>(true)) );
+  VERIFY( (test_category<has_trivial_constructor, ClassType>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..3194119
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct has_trivial_copy<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..0996f46
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::has_trivial_copy<int>     test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc
new file mode 100644 (file)
index 0000000..8158c18
--- /dev/null
@@ -0,0 +1,55 @@
+// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::has_trivial_copy;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<has_trivial_copy, void>(true)) );
+  VERIFY( (test_category<has_trivial_copy, int>(true)) );
+  VERIFY( (test_category<has_trivial_copy, float>(true)) );
+  VERIFY( (test_category<has_trivial_copy, EnumType>(true)) );
+  VERIFY( (test_category<has_trivial_copy, int*>(true)) );
+  VERIFY( (test_category<has_trivial_copy, int(*)(int)>(true)) );
+  VERIFY( (test_category<has_trivial_copy, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<has_trivial_copy, int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<has_trivial_copy, int[2]>(true)) );
+  VERIFY( (test_category<has_trivial_copy, float[][3]>(true)) );
+  VERIFY( (test_category<has_trivial_copy, EnumType[2][3][4]>(true)) );
+  VERIFY( (test_category<has_trivial_copy, int*[3]>(true)) );
+  VERIFY( (test_category<has_trivial_copy, int(*[][2])(int)>(true)) );
+  VERIFY( (test_category<has_trivial_copy, int (ClassType::*[2][3])>(true)) );
+  VERIFY( (test_category<has_trivial_copy,
+          int (ClassType::*[][2][3]) (int)>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..6e2f678
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct has_trivial_destructor<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..9486589
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::has_trivial_destructor<int>     test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc
new file mode 100644 (file)
index 0000000..197de98
--- /dev/null
@@ -0,0 +1,58 @@
+// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005, 2006, 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::has_trivial_destructor;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<has_trivial_destructor, void>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, int>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, float>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, EnumType>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, int*>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, int(*)(int)>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<has_trivial_destructor,
+          int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, int[2]>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, float[][3]>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, EnumType[2][3][4]>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, int*[3]>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, int(*[][2])(int)>(true)) );
+  VERIFY( (test_category<has_trivial_destructor,
+          int (ClassType::*[2][3])>(true)) );
+  VERIFY( (test_category<has_trivial_destructor,
+          int (ClassType::*[][2][3]) (int)>(true)) );
+  VERIFY( (test_category<has_trivial_destructor, ClassType>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..c530103
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct has_virtual_destructor<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..94d81ea
--- /dev/null
@@ -0,0 +1,36 @@
+// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::has_virtual_destructor<int>     test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc
new file mode 100644 (file)
index 0000000..910aede
--- /dev/null
@@ -0,0 +1,56 @@
+// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <iostream>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::has_virtual_destructor;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<has_virtual_destructor,
+          VirtualDestructorClass>(true)) );
+  VERIFY( (test_category<has_virtual_destructor, std::iostream>(true)) );
+  VERIFY( (test_category<has_virtual_destructor, std::streambuf>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<has_virtual_destructor, PolymorphicClass>(false)) );
+  VERIFY( (test_category<has_virtual_destructor, DerivedPolymorphic>(false)) );
+  VERIFY( (test_category<has_virtual_destructor, AbstractClass>(false)) );
+  VERIFY( (test_category<has_virtual_destructor, void>(false)) );
+  VERIFY( (test_category<has_virtual_destructor, int (int)>(false)) );
+  VERIFY( (test_category<has_virtual_destructor, int&>(false)) );
+  VERIFY( (test_category<has_virtual_destructor, EnumType>(false)) );
+  VERIFY( (test_category<has_virtual_destructor, ClassType>(false)) );
+  VERIFY( (test_category<has_virtual_destructor, DerivedType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/static_definition.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/static_definition.cc
deleted file mode 100644 (file)
index bb2b3cd..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// 2006-05-07  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2006 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.
-
-// 4.3 Helper classes
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  const bool* p = &std::tr1::integral_constant<bool, true>::value;
-  VERIFY( p );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc
deleted file mode 100644 (file)
index f3a65d6..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.3 Helper classes
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::true_type;
-  using std::tr1::false_type;
-
-  VERIFY( true_type::value == true );
-  VERIFY( false_type::value == false );
-  VERIFY( true_type::type::value == true );
-  VERIFY( false_type::type::value == false );  
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc
deleted file mode 100644 (file)
index 853ea72..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::true_type                 true_type;
-  typedef std::tr1::false_type                false_type;
-
-  typedef true_type::value_type               true_value_type;
-  typedef true_type::type                     true_type;
-  typedef true_type::type::value_type         true_type_value_type;
-  typedef true_type::type::type               true_type_type;
-  
-  typedef false_type::value_type              false_value_type;
-  typedef false_type::type                    false_type;
-  typedef false_type::type::value_type        false_type_value_type;
-  typedef false_type::type::type              false_type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc
deleted file mode 100644 (file)
index e96c322..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::integral_constant<int, 1> test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..eee4746
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct integral_constant<test_type, -3>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..e96c322
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::integral_constant<int, 1> test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/static_definition.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/static_definition.cc
new file mode 100644 (file)
index 0000000..bb2b3cd
--- /dev/null
@@ -0,0 +1,37 @@
+// 2006-05-07  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2006 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.
+
+// 4.3 Helper classes
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  const bool* p = &std::tr1::integral_constant<bool, true>::value;
+  VERIFY( p );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_type_typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_type_typedefs.cc
new file mode 100644 (file)
index 0000000..853ea72
--- /dev/null
@@ -0,0 +1,43 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::true_type                 true_type;
+  typedef std::tr1::false_type                false_type;
+
+  typedef true_type::value_type               true_value_type;
+  typedef true_type::type                     true_type;
+  typedef true_type::type::value_type         true_type_value_type;
+  typedef true_type::type::type               true_type_type;
+  
+  typedef false_type::value_type              false_value_type;
+  typedef false_type::type                    false_type;
+  typedef false_type::type::value_type        false_type_value_type;
+  typedef false_type::type::type              false_type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/integral_constant/true_false_value.cc
new file mode 100644 (file)
index 0000000..f3a65d6
--- /dev/null
@@ -0,0 +1,42 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.3 Helper classes
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::true_type;
+  using std::tr1::false_type;
+
+  VERIFY( true_type::value == true );
+  VERIFY( false_type::value == false );
+  VERIFY( true_type::type::value == true );
+  VERIFY( false_type::type::value == false );  
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..de6f734
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_abstract<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..49bb463
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_abstract<int>          test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_abstract/value.cc
new file mode 100644 (file)
index 0000000..89a10b3
--- /dev/null
@@ -0,0 +1,49 @@
+// 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_abstract;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<is_abstract, AbstractClass>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<is_abstract, void>(false)) );
+  VERIFY( (test_category<is_abstract, int (int)>(false)) );
+  VERIFY( (test_category<is_abstract, int&>(false)) );
+  
+  // Sanity check.
+  VERIFY( (test_category<is_abstract, ClassType>(false)) );  
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..fe20610
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_arithmetic<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..17cd0a0
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_arithmetic<int>        test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc
new file mode 100644 (file)
index 0000000..ddf0854
--- /dev/null
@@ -0,0 +1,61 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.2 Composite type traits
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_arithmetic;
+  using namespace __gnu_test;
+  
+  VERIFY( (test_category<is_arithmetic, void>(false)) );
+
+  VERIFY( (test_category<is_arithmetic, char>(true)) );
+  VERIFY( (test_category<is_arithmetic, signed char>(true)) );
+  VERIFY( (test_category<is_arithmetic, unsigned char>(true)) );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( (test_category<is_arithmetic, wchar_t>(true)) );
+#endif
+  VERIFY( (test_category<is_arithmetic, short>(true)) );
+  VERIFY( (test_category<is_arithmetic, unsigned short>(true)) );
+  VERIFY( (test_category<is_arithmetic, int>(true)) );
+  VERIFY( (test_category<is_arithmetic, unsigned int>(true)) );
+  VERIFY( (test_category<is_arithmetic, long>(true)) );
+  VERIFY( (test_category<is_arithmetic, unsigned long>(true)) );
+  VERIFY( (test_category<is_arithmetic, long long>(true)) );
+  VERIFY( (test_category<is_arithmetic, unsigned long long>(true)) );
+  VERIFY( (test_category<is_arithmetic, float>(true)) );
+  VERIFY( (test_category<is_arithmetic, double>(true)) );
+  VERIFY( (test_category<is_arithmetic, long double>(true)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_arithmetic, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..4ba326f
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_array<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..660403d
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_array<int>             test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_array/value.cc
new file mode 100644 (file)
index 0000000..c38d159
--- /dev/null
@@ -0,0 +1,54 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_array;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_array, int[2]>(true)) );
+  VERIFY( (test_category<is_array, int[]>(true)) );
+  VERIFY( (test_category<is_array, int[2][3]>(true)) );
+  VERIFY( (test_category<is_array, int[][3]>(true)) );
+  VERIFY( (test_category<is_array, float*[2]>(true)) );
+  VERIFY( (test_category<is_array, float*[]>(true)) );
+  VERIFY( (test_category<is_array, float*[2][3]>(true)) );
+  VERIFY( (test_category<is_array, float*[][3]>(true)) );
+  VERIFY( (test_category<is_array, ClassType[2]>(true)) );
+  VERIFY( (test_category<is_array, ClassType[]>(true)) );
+  VERIFY( (test_category<is_array, ClassType[2][3]>(true)) );
+  VERIFY( (test_category<is_array, ClassType[][3]>(true)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_array, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..49bc62c
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_base_of<test_type, test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..37ad6c6
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-03-04  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_base_of<int, int>      test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_base_of/value.cc
new file mode 100644 (file)
index 0000000..07c1794
--- /dev/null
@@ -0,0 +1,94 @@
+// 2005-03-04  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.6 Relationships between types
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+class HiddenCons
+{
+  HiddenCons();
+  HiddenCons(const HiddenCons&);
+};
+
+class DerivedHiddenCons
+: private HiddenCons
+{
+  DerivedHiddenCons();
+  DerivedHiddenCons(const DerivedHiddenCons&);
+};
+
+class MultiDerivedHiddenCons
+: private HiddenCons, private __gnu_test::ClassType 
+{
+  MultiDerivedHiddenCons();
+  MultiDerivedHiddenCons(const MultiDerivedHiddenCons&);
+};
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_base_of;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_relationship<is_base_of, int, int>(true)) );
+  VERIFY( (test_relationship<is_base_of, EnumType, EnumType>(true)) );
+  VERIFY( (test_relationship<is_base_of, UnionType, UnionType>(true)) );
+  VERIFY( (test_relationship<is_base_of, AbstractClass,
+          AbstractClass>(true)) );
+  VERIFY( (test_relationship<is_base_of, ClassType, DerivedType>(true)) );
+  VERIFY( (test_relationship<is_base_of, ClassType, const DerivedType>(true)) );
+  VERIFY( (test_relationship<is_base_of, volatile ClassType,
+          volatile DerivedType>(true)) );  
+  VERIFY( (test_relationship<is_base_of, PolymorphicClass,
+          DerivedPolymorphic>(true)) );
+  VERIFY( (test_relationship<is_base_of, HiddenCons,
+          DerivedHiddenCons>(true)) );
+  VERIFY( (test_relationship<is_base_of, HiddenCons,
+          MultiDerivedHiddenCons>(true)) );
+  VERIFY( (test_relationship<is_base_of, ClassType,
+          MultiDerivedHiddenCons>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_relationship<is_base_of, int, const int>(false)) );
+  VERIFY( (test_relationship<is_base_of, volatile UnionType,
+          UnionType>(false)) );
+  VERIFY( (test_relationship<is_base_of, int&, ClassType>(false)) );
+  VERIFY( (test_relationship<is_base_of, AbstractClass, ClassType>(false)) );
+  VERIFY( (test_relationship<is_base_of, ClassType, AbstractClass>(false)) );  
+  VERIFY( (test_relationship<is_base_of, DerivedType, ClassType>(false)) );
+  VERIFY( (test_relationship<is_base_of, DerivedPolymorphic,
+          PolymorphicClass>(false)) );
+  VERIFY( (test_relationship<is_base_of, DerivedHiddenCons,
+          HiddenCons>(false)) );
+  VERIFY( (test_relationship<is_base_of, MultiDerivedHiddenCons,
+          HiddenCons>(false)) );
+  VERIFY( (test_relationship<is_base_of, MultiDerivedHiddenCons,
+          ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..555c215
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_class<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..8ad546a
--- /dev/null
@@ -0,0 +1,36 @@
+// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_class<int>             test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_class/value.cc
new file mode 100644 (file)
index 0000000..5e88fb5
--- /dev/null
@@ -0,0 +1,61 @@
+// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_class;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<is_class, ClassType>(true)) );
+  VERIFY( (test_category<is_class, DerivedType>(true)) );
+  VERIFY( (test_category<is_class, ConvType>(true)) );
+  VERIFY( (test_category<is_class, AbstractClass>(true)) );
+  VERIFY( (test_category<is_class, PolymorphicClass>(true)) );
+  VERIFY( (test_category<is_class, DerivedPolymorphic>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<is_class, UnionType>(false)) );
+  VERIFY( (test_category<is_class, void>(false)) );
+  VERIFY( (test_category<is_class, int>(false)) );
+  VERIFY( (test_category<is_class, float>(false)) );
+  VERIFY( (test_category<is_class, int[2]>(false)) );
+  VERIFY( (test_category<is_class, int*>(false)) );
+  VERIFY( (test_category<is_class, int(*)(int)>(false)) );
+  VERIFY( (test_category<is_class, float&>(false)) );
+  VERIFY( (test_category<is_class, float(&)(float)>(false)) );
+  VERIFY( (test_category<is_class, int (ClassType::*)>(false)) );
+  VERIFY( (test_category<is_class, int (ClassType::*) (int)>(false)) );
+  VERIFY( (test_category<is_class, int (int)>(false)) );
+  VERIFY( (test_category<is_class, EnumType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..ca8d858
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_compound<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..906076e
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_compound<int>          test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_compound/value.cc
new file mode 100644 (file)
index 0000000..1708f58
--- /dev/null
@@ -0,0 +1,60 @@
+// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.2 Composite type traits
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_compound;
+  using namespace __gnu_test;
+  
+  VERIFY( (test_category<is_compound, void>(false)) );
+  VERIFY( (test_category<is_compound, char>(false)) );
+  VERIFY( (test_category<is_compound, signed char>(false)) );
+  VERIFY( (test_category<is_compound, unsigned char>(false)) );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( (test_category<is_compound, wchar_t>(false)) );
+#endif
+  VERIFY( (test_category<is_compound, short>(false)) );
+  VERIFY( (test_category<is_compound, unsigned short>(false)) );
+  VERIFY( (test_category<is_compound, int>(false)) );
+  VERIFY( (test_category<is_compound, unsigned int>(false)) );
+  VERIFY( (test_category<is_compound, long>(false)) );
+  VERIFY( (test_category<is_compound, unsigned long>(false)) );
+  VERIFY( (test_category<is_compound, long long>(false)) );
+  VERIFY( (test_category<is_compound, unsigned long long>(false)) );
+  VERIFY( (test_category<is_compound, float>(false)) );
+  VERIFY( (test_category<is_compound, double>(false)) );
+  VERIFY( (test_category<is_compound, long double>(false)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_compound, ClassType>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..ec96539
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_const<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..3a5dd66
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_const<int>             test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_const/value.cc
new file mode 100644 (file)
index 0000000..55f3656
--- /dev/null
@@ -0,0 +1,50 @@
+// 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_const;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_property<is_const, const int>(true)) );
+  VERIFY( (test_property<is_const, const volatile int>(true)) );
+  VERIFY( (test_property<is_const, cClassType>(true)) );
+  VERIFY( (test_property<is_const, cvClassType>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_property<is_const, int>(false)) );
+  VERIFY( (test_property<is_const, volatile int>(false)) );
+  VERIFY( (test_property<is_const, ClassType>(false)) );
+  VERIFY( (test_property<is_const, vClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..077f064
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_convertible<test_type, test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..6ee1de1
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-02-23  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_convertible<int, int>  test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_convertible/value.cc
new file mode 100644 (file)
index 0000000..7d98b01
--- /dev/null
@@ -0,0 +1,87 @@
+// 2005-02-23  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.6 Relationships between types
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_convertible;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_relationship<is_convertible, int, int>(true)) );
+  VERIFY( (test_relationship<is_convertible, int, const int>(true)) );
+  VERIFY( (test_relationship<is_convertible, volatile int, const int>(true)) );
+  VERIFY( (test_relationship<is_convertible, int, float>(true)) );
+  VERIFY( (test_relationship<is_convertible, double, float>(true)) );
+  VERIFY( (test_relationship<is_convertible, float, int>(true)) );
+  VERIFY( (test_relationship<is_convertible, int*, const int*>(true)) );
+  VERIFY( (test_relationship<is_convertible, int*, void*>(true)) );
+  VERIFY( (test_relationship<is_convertible, int[4], int*>(true)) );
+  VERIFY( (test_relationship<is_convertible, float&, int>(true)) );
+  VERIFY( (test_relationship<is_convertible, int, const int&>(true)) ); 
+  VERIFY( (test_relationship<is_convertible, const int&, int>(true)) );
+  VERIFY( (test_relationship<is_convertible, float, const int&>(true)) );
+  VERIFY( (test_relationship<is_convertible, float, volatile float&>(true)) );
+  VERIFY( (test_relationship<is_convertible, int(int), int(*)(int)>(true)) );
+  VERIFY( (test_relationship<is_convertible, int(int), int(&)(int)>(true)) );
+  VERIFY( (test_relationship<is_convertible, int(&)(int), int(*)(int)>(true)) );
+  VERIFY( (test_relationship<is_convertible, EnumType, int>(true)) );
+  VERIFY( (test_relationship<is_convertible, ClassType, ClassType>(true)) );
+  VERIFY( (test_relationship<is_convertible, DerivedType, ClassType>(true)) );
+  VERIFY( (test_relationship<is_convertible, DerivedType*, ClassType*>(true)) );
+  VERIFY( (test_relationship<is_convertible, DerivedType&, ClassType&>(true)) );
+
+  VERIFY( (test_relationship<is_convertible, void, void>(true)) );
+  VERIFY( (test_relationship<is_convertible, int, void>(true)) );
+  VERIFY( (test_relationship<is_convertible, int[4], void>(true)) );  
+
+  // Negative tests.
+  VERIFY( (test_relationship<is_convertible, const int*, int*>(false)) );
+  VERIFY( (test_relationship<is_convertible, int*, float*>(false)) );
+  VERIFY( (test_relationship<is_convertible, const int[4], int*>(false)) );
+  VERIFY( (test_relationship<is_convertible, int[4], int[4]>(false)) );
+  VERIFY( (test_relationship<is_convertible, const int&, int&>(false)) );
+  VERIFY( (test_relationship<is_convertible, float&, int&>(false)) );  
+  VERIFY( (test_relationship<is_convertible, float, volatile int&>(false)) );
+  VERIFY( (test_relationship<is_convertible, int(int), int(int)>(false)) );
+  VERIFY( (test_relationship<is_convertible, int(int), int(*)(void)>(false)) );
+  VERIFY( (test_relationship<is_convertible, int(*)(int), int(&)(int)>(false)) );
+  VERIFY( (test_relationship<is_convertible, int, EnumType>(false)) );
+  VERIFY( (test_relationship<is_convertible, int, ClassType>(false)) );
+  VERIFY( (test_relationship<is_convertible, ClassType, DerivedType>(false)) );
+  VERIFY( (test_relationship<is_convertible, ClassType*, DerivedType*>(false)) );
+  VERIFY( (test_relationship<is_convertible, ClassType&, DerivedType&>(false)) );
+
+  VERIFY( (test_relationship<is_convertible, void, int>(false)) );
+  VERIFY( (test_relationship<is_convertible, void, float>(false)) );  
+  VERIFY( (test_relationship<is_convertible, void, int(*)(int)>(false)) );  
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..53861ed
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_empty<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..346581d
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_empty<int>             test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_empty/value.cc
new file mode 100644 (file)
index 0000000..62b83a4
--- /dev/null
@@ -0,0 +1,76 @@
+// 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+class EmptyClassOne
+{ typedef int type; };
+
+class EmptyClassTwo
+{ static int data; };
+
+class EmptyClassThree
+{ int f(); };
+
+class NonEmptyClassOne
+{ int data; };
+
+class NonEmptyClassTwo
+{
+  virtual int f();
+  virtual ~NonEmptyClassTwo();
+};
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_empty;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<is_empty, ClassType>(true)) );
+  VERIFY( (test_category<is_empty, EmptyClassOne>(true)) );
+  VERIFY( (test_category<is_empty, EmptyClassTwo>(true)) );
+  VERIFY( (test_category<is_empty, EmptyClassThree>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<is_empty, void>(false)) );
+  VERIFY( (test_category<is_empty, float>(false)) );
+  VERIFY( (test_category<is_empty, int[4]>(false)) );
+  VERIFY( (test_category<is_empty, int*>(false)) );
+  VERIFY( (test_category<is_empty, int&>(false)) );
+  VERIFY( (test_category<is_empty, int (ClassType::*)>(false)) );
+  VERIFY( (test_category<is_empty, EnumType>(false)) );
+  VERIFY( (test_category<is_empty, int (int)>(false)) );
+
+  VERIFY( (test_category<is_empty, AbstractClass>(false)) );
+  VERIFY( (test_category<is_empty, NonEmptyClassOne>(false)) );
+  VERIFY( (test_category<is_empty, NonEmptyClassTwo>(false)) );  
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/24808.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/24808.cc
new file mode 100644 (file)
index 0000000..88a3cdc
--- /dev/null
@@ -0,0 +1,41 @@
+// 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+// libstdc++/24808
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_enum;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_enum, IncompleteClass>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..7f60c6d
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_enum<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..fc4e11b
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_enum<int>              test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_enum/value.cc
new file mode 100644 (file)
index 0000000..97a77db
--- /dev/null
@@ -0,0 +1,59 @@
+// 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_enum;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<is_enum, EnumType>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<is_enum, void>(false)) );
+  VERIFY( (test_category<is_enum, int>(false)) );
+  VERIFY( (test_category<is_enum, float>(false)) );
+  VERIFY( (test_category<is_enum, int[2]>(false)) );
+  VERIFY( (test_category<is_enum, int*>(false)) );
+  VERIFY( (test_category<is_enum, int(*)(int)>(false)) );
+  VERIFY( (test_category<is_enum, float&>(false)) );
+  VERIFY( (test_category<is_enum, float(&)(float)>(false)) );
+  VERIFY( (test_category<is_enum, int (ClassType::*)>(false)) );
+  VERIFY( (test_category<is_enum, int (ClassType::*) (int)>(false)) );
+  VERIFY( (test_category<is_enum, int (int)>(false)) );
+
+  VERIFY( (test_category<is_enum, ConvType>(false)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_enum, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..95bd58b
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_floating_point<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..b19cf1f
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_floating_point<int>    test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_floating_point/value.cc
new file mode 100644 (file)
index 0000000..9b8e846
--- /dev/null
@@ -0,0 +1,61 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_floating_point;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_floating_point, void>(false)) );
+  VERIFY( (test_category<is_floating_point, char>(false)) );
+  VERIFY( (test_category<is_floating_point, signed char>(false)) );
+  VERIFY( (test_category<is_floating_point, unsigned char>(false)) );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( (test_category<is_floating_point, wchar_t>(false)) );
+#endif
+  VERIFY( (test_category<is_floating_point, short>(false)) );
+  VERIFY( (test_category<is_floating_point, unsigned short>(false)) );
+  VERIFY( (test_category<is_floating_point, int>(false)) );
+  VERIFY( (test_category<is_floating_point, unsigned int>(false)) );
+  VERIFY( (test_category<is_floating_point, long>(false)) );
+  VERIFY( (test_category<is_floating_point, unsigned long>(false)) );
+  VERIFY( (test_category<is_floating_point, long long>(false)) );
+  VERIFY( (test_category<is_floating_point, unsigned long long>(false)) );
+
+  VERIFY( (test_category<is_floating_point, float>(true)) );
+  VERIFY( (test_category<is_floating_point, double>(true)) );
+  VERIFY( (test_category<is_floating_point, long double>(true)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_floating_point, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/24808.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/24808.cc
new file mode 100644 (file)
index 0000000..6ba9969
--- /dev/null
@@ -0,0 +1,41 @@
+// 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+// libstdc++/24808
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_function;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_function, IncompleteClass>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..0028cba
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_function<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..db70185
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_function<int>          test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/value.cc
new file mode 100644 (file)
index 0000000..1ada912
--- /dev/null
@@ -0,0 +1,55 @@
+// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005, 2006, 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_function;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<is_function, int (int)>(true)) );
+  VERIFY( (test_category<is_function, ClassType (ClassType)>(true)) );
+  VERIFY( (test_category<is_function, float (int, float, int[], int&)>(true)) );
+  VERIFY( (test_category<is_function, int (int, ...)>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<is_function, int&>(false)) );
+  VERIFY( (test_category<is_function, void>(false)) );
+  VERIFY( (test_category<is_function, const void>(false)) );
+
+  VERIFY( (test_category<is_function, AbstractClass>(false)) );
+  VERIFY( (test_category<is_function, int(&)(int)>(false)) );
+  
+  // Sanity check.
+  VERIFY( (test_category<is_function, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..1b02119
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_fundamental<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..a4744ed
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_fundamental<int>       test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_fundamental/value.cc
new file mode 100644 (file)
index 0000000..8a756c5
--- /dev/null
@@ -0,0 +1,60 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.2 Composite type traits
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_fundamental;
+  using namespace __gnu_test;
+  
+  VERIFY( (test_category<is_fundamental, void>(true)) );
+  VERIFY( (test_category<is_fundamental, char>(true)) );
+  VERIFY( (test_category<is_fundamental, signed char>(true)) );
+  VERIFY( (test_category<is_fundamental, unsigned char>(true)) );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( (test_category<is_fundamental, wchar_t>(true)) );
+#endif
+  VERIFY( (test_category<is_fundamental, short>(true)) );
+  VERIFY( (test_category<is_fundamental, unsigned short>(true)) );
+  VERIFY( (test_category<is_fundamental, int>(true)) );
+  VERIFY( (test_category<is_fundamental, unsigned int>(true)) );
+  VERIFY( (test_category<is_fundamental, long>(true)) );
+  VERIFY( (test_category<is_fundamental, unsigned long>(true)) );
+  VERIFY( (test_category<is_fundamental, long long>(true)) );
+  VERIFY( (test_category<is_fundamental, unsigned long long>(true)) );
+  VERIFY( (test_category<is_fundamental, float>(true)) );
+  VERIFY( (test_category<is_fundamental, double>(true)) );
+  VERIFY( (test_category<is_fundamental, long double>(true)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_fundamental, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..d379190
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_integral<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..19d6a67
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_integral<int>          test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_integral/value.cc
new file mode 100644 (file)
index 0000000..2876c6d
--- /dev/null
@@ -0,0 +1,62 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_integral;
+  using namespace __gnu_test;
+  
+  VERIFY( (test_category<is_integral, void>(false)) );
+  
+  VERIFY( (test_category<is_integral, char>(true)) );
+  VERIFY( (test_category<is_integral, signed char>(true)) );
+  VERIFY( (test_category<is_integral, unsigned char>(true)) );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( (test_category<is_integral, wchar_t>(true)) );
+#endif
+  VERIFY( (test_category<is_integral, short>(true)) );
+  VERIFY( (test_category<is_integral, unsigned short>(true)) );
+  VERIFY( (test_category<is_integral, int>(true)) );
+  VERIFY( (test_category<is_integral, unsigned int>(true)) );
+  VERIFY( (test_category<is_integral, long>(true)) );
+  VERIFY( (test_category<is_integral, unsigned long>(true)) );
+  VERIFY( (test_category<is_integral, long long>(true)) );
+  VERIFY( (test_category<is_integral, unsigned long long>(true)) );
+
+  VERIFY( (test_category<is_integral, float>(false)) );
+  VERIFY( (test_category<is_integral, double>(false)) );
+  VERIFY( (test_category<is_integral, long double>(false)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_integral, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..2cec047
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_member_function_pointer<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..48f1f22
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_member_function_pointer<int> test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc
new file mode 100644 (file)
index 0000000..b0b3f80
--- /dev/null
@@ -0,0 +1,61 @@
+// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_member_function_pointer;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<is_member_function_pointer,
+          int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<is_member_function_pointer,
+          int (ClassType::*) (int) const>(true)) );
+  VERIFY( (test_category<is_member_function_pointer,
+          int (ClassType::*) (float, ...)>(true)) );
+  VERIFY( (test_category<is_member_function_pointer,
+          ClassType (ClassType::*) (ClassType)>(true)) );
+  VERIFY( (test_category<is_member_function_pointer,
+          float (ClassType::*) (int, float, int[], int&)>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<is_member_function_pointer,
+          int (ClassType::*)>(false)) );
+  VERIFY( (test_category<is_member_function_pointer,
+          const int (ClassType::*)>(false)) );
+  VERIFY( (test_category<is_member_function_pointer,
+          ClassType (ClassType::*)>(false)) );
+  
+  // Sanity check.
+  VERIFY( (test_category<is_member_function_pointer, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..a4ba065
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_member_object_pointer<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..0add4a0
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_member_object_pointer<int>   test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc
new file mode 100644 (file)
index 0000000..e873edf
--- /dev/null
@@ -0,0 +1,61 @@
+// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_member_object_pointer;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<is_member_object_pointer,
+          int (ClassType::*)>(true)) );
+  VERIFY( (test_category<is_member_object_pointer,
+          const int (ClassType::*)>(true)) );
+  VERIFY( (test_category<is_member_object_pointer,
+          ClassType (ClassType::*)>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<is_member_object_pointer,
+          int (ClassType::*) (int)>(false)) );
+  VERIFY( (test_category<is_member_object_pointer,
+          int (ClassType::*) (int) const>(false)) );
+  VERIFY( (test_category<is_member_object_pointer,
+          int (ClassType::*) (float, ...)>(false)) );
+  VERIFY( (test_category<is_member_object_pointer,
+          ClassType (ClassType::*) (ClassType)>(false)) );
+  VERIFY( (test_category<is_member_object_pointer,
+          float (ClassType::*) (int, float, int[], int&)>(false)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_member_object_pointer, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..e94a592
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_member_pointer<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..65a882c
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_member_pointer<int>    test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc
new file mode 100644 (file)
index 0000000..0b194bb
--- /dev/null
@@ -0,0 +1,56 @@
+// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.2 Composite type traits
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_member_pointer;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_member_pointer, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<is_member_pointer, const int (ClassType::*)>(true)) );
+  VERIFY( (test_category<is_member_pointer, ClassType (ClassType::*)>(true)) );
+
+  VERIFY( (test_category<is_member_pointer,
+          int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<is_member_pointer,
+          int (ClassType::*) (int) const>(true)) );
+  VERIFY( (test_category<is_member_pointer,
+          int (ClassType::*) (float, ...)>(true)) );
+  VERIFY( (test_category<is_member_pointer,
+          ClassType (ClassType::*) (ClassType)>(true)) );
+  VERIFY( (test_category<is_member_pointer,
+          float (ClassType::*) (int, float, int[], int&)>(true)) );
+  
+  // Sanity check.
+  VERIFY( (test_category<is_member_pointer, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/24808.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/24808.cc
new file mode 100644 (file)
index 0000000..70ba016
--- /dev/null
@@ -0,0 +1,41 @@
+// 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.2 Composite type traits
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+// libstdc++/24808
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_object;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_object, IncompleteClass>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..5677efe
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_object<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..61cf43f
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_object<int>            test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_object/value.cc
new file mode 100644 (file)
index 0000000..6283ece
--- /dev/null
@@ -0,0 +1,50 @@
+// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.2 Composite type traits
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_object;
+  using namespace __gnu_test;
+  
+  VERIFY( (test_category<is_object, int (int)>(false)) );
+  VERIFY( (test_category<is_object, ClassType (ClassType)>(false)) );
+  VERIFY( (test_category<is_object, float (int, float, int[], int&)>(false)) );
+  VERIFY( (test_category<is_object, int&>(false)) );
+  VERIFY( (test_category<is_object, ClassType&>(false)) );
+  VERIFY( (test_category<is_object, int(&)(int)>(false)) );
+  VERIFY( (test_category<is_object, void>(false)) );
+  VERIFY( (test_category<is_object, const void>(false)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_object, ClassType>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..dd859fe
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_pod<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..8dbfd3c
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_pod<int>               test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pod/value.cc
new file mode 100644 (file)
index 0000000..12a4a45
--- /dev/null
@@ -0,0 +1,55 @@
+// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004, 2005, 2006, 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_pod;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_pod, void>(true)) );
+  VERIFY( (test_category<is_pod, int>(true)) );
+  VERIFY( (test_category<is_pod, float>(true)) );
+  VERIFY( (test_category<is_pod, EnumType>(true)) );
+  VERIFY( (test_category<is_pod, int*>(true)) );
+  VERIFY( (test_category<is_pod, int(*)(int)>(true)) );
+  VERIFY( (test_category<is_pod, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<is_pod, int (ClassType::*) (int)>(true)) );
+  VERIFY( (test_category<is_pod, int[2]>(true)) );
+  VERIFY( (test_category<is_pod, float[][3]>(true)) );
+  VERIFY( (test_category<is_pod, EnumType[2][3][4]>(true)) );
+  VERIFY( (test_category<is_pod, int*[3]>(true)) );
+  VERIFY( (test_category<is_pod, int(*[][2])(int)>(true)) );
+  VERIFY( (test_category<is_pod, int (ClassType::*[2][3])>(true)) );
+  VERIFY( (test_category<is_pod, int (ClassType::*[][2][3]) (int)>(true)) );
+  VERIFY( (test_category<is_pod, ClassType>(true)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..4e90d8f
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_pointer<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..6ba35d1
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_pointer<int>           test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_pointer/value.cc
new file mode 100644 (file)
index 0000000..7435647
--- /dev/null
@@ -0,0 +1,45 @@
+// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_pointer;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_pointer, int*>(true)) );
+  VERIFY( (test_category<is_pointer, ClassType*>(true)) );
+  VERIFY( (test_category<is_pointer, int(*)(int)>(true)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_pointer, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/24809.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/24809.cc
new file mode 100644 (file)
index 0000000..0b8ab0f
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <exception>
+
+// libstdc++/24809
+static const bool b = std::tr1::is_polymorphic<std::exception>::value;
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..02a2b58
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_polymorphic<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..14ba690
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-03-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_polymorphic<int>       test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc
new file mode 100644 (file)
index 0000000..6dc5c1c
--- /dev/null
@@ -0,0 +1,55 @@
+// 2005-03-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005, 2006, 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <iostream>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_polymorphic;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<is_polymorphic, PolymorphicClass>(true)) );
+  VERIFY( (test_category<is_polymorphic, DerivedPolymorphic>(true)) );
+  VERIFY( (test_category<is_polymorphic, AbstractClass>(true)) );
+  VERIFY( (test_category<is_polymorphic, VirtualDestructorClass>(true)) );
+  VERIFY( (test_category<is_polymorphic, std::iostream>(true)) );
+  VERIFY( (test_category<is_polymorphic, std::streambuf>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<is_polymorphic, void>(false)) );
+  VERIFY( (test_category<is_polymorphic, int (int)>(false)) );
+  VERIFY( (test_category<is_polymorphic, int&>(false)) );
+  VERIFY( (test_category<is_polymorphic, EnumType>(false)) );
+  VERIFY( (test_category<is_polymorphic, ClassType>(false)) );
+  VERIFY( (test_category<is_polymorphic, DerivedType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..c6d528a
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_reference<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..30c9e27
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-06  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_reference<int>         test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_reference/value.cc
new file mode 100644 (file)
index 0000000..8a799b7
--- /dev/null
@@ -0,0 +1,45 @@
+// 2004-12-06  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_reference;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_reference, int&>(true)) );
+  VERIFY( (test_category<is_reference, ClassType&>(true)) );
+  VERIFY( (test_category<is_reference, int(&)(int)>(true)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_reference, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..94df35d
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_same<test_type, test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..460ebbb
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_same<int, int>         test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_same/value.cc
new file mode 100644 (file)
index 0000000..0fbae2e
--- /dev/null
@@ -0,0 +1,50 @@
+// 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.6 Relationships between types
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_relationship<is_same, int, int>(true)) );
+  VERIFY( (test_relationship<is_same, const int, const int>(true)) );
+  VERIFY( (test_relationship<is_same, int&, int&>(true)) );
+  VERIFY( (test_relationship<is_same, ClassType, ClassType>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_relationship<is_same, void, int>(false)) );
+  VERIFY( (test_relationship<is_same, int, const int>(false)) );
+  VERIFY( (test_relationship<is_same, int, int&>(false)) );
+  VERIFY( (test_relationship<is_same, int, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..0f1df9b
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_scalar<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..b684c7c
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_scalar<int>            test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_scalar/value.cc
new file mode 100644 (file)
index 0000000..e0cb20c
--- /dev/null
@@ -0,0 +1,49 @@
+// 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.2 Composite type traits
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_scalar;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_scalar, int>(true)) );
+  VERIFY( (test_category<is_scalar, float>(true)) );
+  VERIFY( (test_category<is_scalar, EnumType>(true)) );
+  VERIFY( (test_category<is_scalar, int*>(true)) );
+  VERIFY( (test_category<is_scalar, int(*)(int)>(true)) );
+  VERIFY( (test_category<is_scalar, int (ClassType::*)>(true)) );
+  VERIFY( (test_category<is_scalar, int (ClassType::*) (int)>(true)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_scalar, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..fc6c18a
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_signed<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..86730ae
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_signed<int>            test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_signed/value.cc
new file mode 100644 (file)
index 0000000..351dde8
--- /dev/null
@@ -0,0 +1,62 @@
+// 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_signed;
+  using namespace __gnu_test;
+  
+  VERIFY( (test_category<is_signed, void>(false)) );
+  
+  VERIFY( (test_category<is_signed, char>(false)) );
+  VERIFY( (test_category<is_signed, signed char>(true)) );
+  VERIFY( (test_category<is_signed, unsigned char>(false)) );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( (test_category<is_signed, wchar_t>(false)) );
+#endif
+  VERIFY( (test_category<is_signed, short>(true)) );
+  VERIFY( (test_category<is_signed, unsigned short>(false)) );
+  VERIFY( (test_category<is_signed, int>(true)) );
+  VERIFY( (test_category<is_signed, unsigned int>(false)) );
+  VERIFY( (test_category<is_signed, long>(true)) );
+  VERIFY( (test_category<is_signed, unsigned long>(false)) );
+  VERIFY( (test_category<is_signed, long long>(true)) );
+  VERIFY( (test_category<is_signed, unsigned long long>(false)) );
+
+  VERIFY( (test_category<is_signed, float>(false)) );
+  VERIFY( (test_category<is_signed, double>(false)) );
+  VERIFY( (test_category<is_signed, long double>(false)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_signed, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..19e79ff
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_union<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..9f24c5e
--- /dev/null
@@ -0,0 +1,36 @@
+// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_union<int>             test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_union/value.cc
new file mode 100644 (file)
index 0000000..e381f88
--- /dev/null
@@ -0,0 +1,61 @@
+// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_union;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_category<is_union, UnionType>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_category<is_union, ClassType>(false)) );
+  VERIFY( (test_category<is_union, DerivedType>(false)) );
+  VERIFY( (test_category<is_union, ConvType>(false)) );
+  VERIFY( (test_category<is_union, AbstractClass>(false)) );
+  VERIFY( (test_category<is_union, PolymorphicClass>(false)) );
+  VERIFY( (test_category<is_union, DerivedPolymorphic>(false)) );
+  VERIFY( (test_category<is_union, void>(false)) );
+  VERIFY( (test_category<is_union, int>(false)) );
+  VERIFY( (test_category<is_union, float>(false)) );
+  VERIFY( (test_category<is_union, int[2]>(false)) );
+  VERIFY( (test_category<is_union, int*>(false)) );
+  VERIFY( (test_category<is_union, int(*)(int)>(false)) );
+  VERIFY( (test_category<is_union, float&>(false)) );
+  VERIFY( (test_category<is_union, float(&)(float)>(false)) );
+  VERIFY( (test_category<is_union, int (ClassType::*)>(false)) );
+  VERIFY( (test_category<is_union, int (ClassType::*) (int)>(false)) );
+  VERIFY( (test_category<is_union, int (int)>(false)) );
+  VERIFY( (test_category<is_union, EnumType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..1016497
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_unsigned<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..4c90ece
--- /dev/null
@@ -0,0 +1,36 @@
+// 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_unsigned<int>          test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_unsigned/value.cc
new file mode 100644 (file)
index 0000000..19bb975
--- /dev/null
@@ -0,0 +1,62 @@
+// 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2005 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_unsigned;
+  using namespace __gnu_test;
+  
+  VERIFY( (test_category<is_unsigned, void>(false)) );
+  
+  VERIFY( (test_category<is_unsigned, char>(false)) );
+  VERIFY( (test_category<is_unsigned, signed char>(false)) );
+  VERIFY( (test_category<is_unsigned, unsigned char>(true)) );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( (test_category<is_unsigned, wchar_t>(false)) );
+#endif
+  VERIFY( (test_category<is_unsigned, short>(false)) );
+  VERIFY( (test_category<is_unsigned, unsigned short>(true)) );
+  VERIFY( (test_category<is_unsigned, int>(false)) );
+  VERIFY( (test_category<is_unsigned, unsigned int>(true)) );
+  VERIFY( (test_category<is_unsigned, long>(false)) );
+  VERIFY( (test_category<is_unsigned, unsigned long>(true)) );
+  VERIFY( (test_category<is_unsigned, long long>(false)) );
+  VERIFY( (test_category<is_unsigned, unsigned long long>(true)) );
+
+  VERIFY( (test_category<is_unsigned, float>(false)) );
+  VERIFY( (test_category<is_unsigned, double>(false)) );
+  VERIFY( (test_category<is_unsigned, long double>(false)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_unsigned, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..4c0fb9a
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_void<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..24d1913
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_void<int>              test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_void/value.cc
new file mode 100644 (file)
index 0000000..6f04508
--- /dev/null
@@ -0,0 +1,61 @@
+// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.1 Primary type categories
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_void;
+  using namespace __gnu_test;
+
+  VERIFY( (test_category<is_void, void>(true)) );
+  
+  VERIFY( (test_category<is_void, char>(false)) );
+  VERIFY( (test_category<is_void, signed char>(false)) );
+  VERIFY( (test_category<is_void, unsigned char>(false)) );
+#ifdef _GLIBCXX_USE_WCHAR_T
+  VERIFY( (test_category<is_void, wchar_t>(false)) );
+#endif
+  VERIFY( (test_category<is_void, short>(false)) );
+  VERIFY( (test_category<is_void, unsigned short>(false)) );
+  VERIFY( (test_category<is_void, int>(false)) );
+  VERIFY( (test_category<is_void, unsigned int>(false)) );
+  VERIFY( (test_category<is_void, long>(false)) );
+  VERIFY( (test_category<is_void, unsigned long>(false)) );
+  VERIFY( (test_category<is_void, long long>(false)) );
+  VERIFY( (test_category<is_void, unsigned long long>(false)) );
+  VERIFY( (test_category<is_void, float>(false)) );
+  VERIFY( (test_category<is_void, double>(false)) );
+  VERIFY( (test_category<is_void, long double>(false)) );
+
+  // Sanity check.
+  VERIFY( (test_category<is_void, ClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..3c98b96
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct is_volatile<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..2879442
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::is_volatile<int>          test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/is_volatile/value.cc
new file mode 100644 (file)
index 0000000..6336ab7
--- /dev/null
@@ -0,0 +1,50 @@
+// 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::is_volatile;
+  using namespace __gnu_test;
+
+  // Positive tests.
+  VERIFY( (test_property<is_volatile, volatile int>(true)) );
+  VERIFY( (test_property<is_volatile, const volatile int>(true)) );
+  VERIFY( (test_property<is_volatile, vClassType>(true)) );
+  VERIFY( (test_property<is_volatile, cvClassType>(true)) );
+
+  // Negative tests.
+  VERIFY( (test_property<is_volatile, int>(false)) );
+  VERIFY( (test_property<is_volatile, const int>(false)) );
+  VERIFY( (test_property<is_volatile, ClassType>(false)) );
+  VERIFY( (test_property<is_volatile, cClassType>(false)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc
deleted file mode 100644 (file)
index bbc336c..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-// 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.8 Other transformations
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::aligned_storage;
-  using std::tr1::alignment_of;
-  using namespace __gnu_test;
-  
-  const std::size_t align_c = alignment_of<char>::value;
-  VERIFY( (sizeof(aligned_storage<4, align_c>::type) >= 4) );
-  VERIFY( (__alignof__(aligned_storage<4, align_c>::type) == align_c) );
-
-  const std::size_t align_s = alignment_of<short>::value;
-  VERIFY( (sizeof(aligned_storage<1, align_s>::type) >= 1) );
-  VERIFY( (__alignof__(aligned_storage<1, align_s>::type) == align_s) );
-
-  const std::size_t align_i = alignment_of<int>::value;
-  VERIFY( (sizeof(aligned_storage<7, align_i>::type) >= 7) );
-  VERIFY( (__alignof__(aligned_storage<7, align_i>::type) == align_i) );
-
-  const std::size_t align_d = alignment_of<double>::value;
-  VERIFY( (sizeof(aligned_storage<2, align_d>::type) >= 2) );
-  VERIFY( (__alignof__(aligned_storage<2, align_d>::type) == align_d) );
-
-  const std::size_t align_ai = alignment_of<int[4]>::value;
-  VERIFY( (sizeof(aligned_storage<20, align_ai>::type) >= 20) );
-  VERIFY( (__alignof__(aligned_storage<20, align_ai>::type) == align_ai) );
-
-  const std::size_t align_ct = alignment_of<ClassType>::value;
-  VERIFY( (sizeof(aligned_storage<11, align_ct>::type) >= 11) );
-  VERIFY( (__alignof__(aligned_storage<11, align_ct>::type) == align_ct) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc
deleted file mode 100644 (file)
index 4e51378..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::aligned_storage<1, 1>     test_type;
-  typedef test_type::type                     type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc
deleted file mode 100644 (file)
index d87cd2e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.2 Reference modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::add_pointer;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<add_pointer<int>::type, int*>::value) );
-  VERIFY( (is_same<add_pointer<int*>::type, int**>::value) );
-  VERIFY( (is_same<add_pointer<const int>::type, const int*>::value) );
-  VERIFY( (is_same<add_pointer<int&>::type, int*>::value) );
-  VERIFY( (is_same<add_pointer<ClassType*>::type, ClassType**>::value) );
-  VERIFY( (is_same<add_pointer<ClassType>::type, ClassType*>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc
deleted file mode 100644 (file)
index 6c17d02..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.2 Reference modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::remove_pointer;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<remove_pointer<int*>::type, int>::value) );
-  VERIFY( (is_same<remove_pointer<int>::type, int>::value) );
-  VERIFY( (is_same<remove_pointer<const int*>::type, const int>::value) );
-  VERIFY( (is_same<remove_pointer<int**>::type, int*>::value) );
-  VERIFY( (is_same<remove_pointer<ClassType*>::type, ClassType>::value) );
-  VERIFY( (is_same<remove_pointer<ClassType>::type, ClassType>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc
deleted file mode 100644 (file)
index c38d159..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_array;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_array, int[2]>(true)) );
-  VERIFY( (test_category<is_array, int[]>(true)) );
-  VERIFY( (test_category<is_array, int[2][3]>(true)) );
-  VERIFY( (test_category<is_array, int[][3]>(true)) );
-  VERIFY( (test_category<is_array, float*[2]>(true)) );
-  VERIFY( (test_category<is_array, float*[]>(true)) );
-  VERIFY( (test_category<is_array, float*[2][3]>(true)) );
-  VERIFY( (test_category<is_array, float*[][3]>(true)) );
-  VERIFY( (test_category<is_array, ClassType[2]>(true)) );
-  VERIFY( (test_category<is_array, ClassType[]>(true)) );
-  VERIFY( (test_category<is_array, ClassType[2][3]>(true)) );
-  VERIFY( (test_category<is_array, ClassType[][3]>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_array, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc
deleted file mode 100644 (file)
index 660403d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_array<int>             test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_class/is_class.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_class/is_class.cc
deleted file mode 100644 (file)
index 5e88fb5..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_class;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<is_class, ClassType>(true)) );
-  VERIFY( (test_category<is_class, DerivedType>(true)) );
-  VERIFY( (test_category<is_class, ConvType>(true)) );
-  VERIFY( (test_category<is_class, AbstractClass>(true)) );
-  VERIFY( (test_category<is_class, PolymorphicClass>(true)) );
-  VERIFY( (test_category<is_class, DerivedPolymorphic>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<is_class, UnionType>(false)) );
-  VERIFY( (test_category<is_class, void>(false)) );
-  VERIFY( (test_category<is_class, int>(false)) );
-  VERIFY( (test_category<is_class, float>(false)) );
-  VERIFY( (test_category<is_class, int[2]>(false)) );
-  VERIFY( (test_category<is_class, int*>(false)) );
-  VERIFY( (test_category<is_class, int(*)(int)>(false)) );
-  VERIFY( (test_category<is_class, float&>(false)) );
-  VERIFY( (test_category<is_class, float(&)(float)>(false)) );
-  VERIFY( (test_category<is_class, int (ClassType::*)>(false)) );
-  VERIFY( (test_category<is_class, int (ClassType::*) (int)>(false)) );
-  VERIFY( (test_category<is_class, int (int)>(false)) );
-  VERIFY( (test_category<is_class, EnumType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_class/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_class/typedefs.cc
deleted file mode 100644 (file)
index 8ad546a..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_class<int>             test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/24808.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/24808.cc
deleted file mode 100644 (file)
index 88a3cdc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-// libstdc++/24808
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_enum;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_enum, IncompleteClass>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc
deleted file mode 100644 (file)
index 97a77db..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-// 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_enum;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<is_enum, EnumType>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<is_enum, void>(false)) );
-  VERIFY( (test_category<is_enum, int>(false)) );
-  VERIFY( (test_category<is_enum, float>(false)) );
-  VERIFY( (test_category<is_enum, int[2]>(false)) );
-  VERIFY( (test_category<is_enum, int*>(false)) );
-  VERIFY( (test_category<is_enum, int(*)(int)>(false)) );
-  VERIFY( (test_category<is_enum, float&>(false)) );
-  VERIFY( (test_category<is_enum, float(&)(float)>(false)) );
-  VERIFY( (test_category<is_enum, int (ClassType::*)>(false)) );
-  VERIFY( (test_category<is_enum, int (ClassType::*) (int)>(false)) );
-  VERIFY( (test_category<is_enum, int (int)>(false)) );
-
-  VERIFY( (test_category<is_enum, ConvType>(false)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_enum, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc
deleted file mode 100644 (file)
index fc4e11b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_enum<int>              test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc
deleted file mode 100644 (file)
index 9b8e846..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_floating_point;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_floating_point, void>(false)) );
-  VERIFY( (test_category<is_floating_point, char>(false)) );
-  VERIFY( (test_category<is_floating_point, signed char>(false)) );
-  VERIFY( (test_category<is_floating_point, unsigned char>(false)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
-  VERIFY( (test_category<is_floating_point, wchar_t>(false)) );
-#endif
-  VERIFY( (test_category<is_floating_point, short>(false)) );
-  VERIFY( (test_category<is_floating_point, unsigned short>(false)) );
-  VERIFY( (test_category<is_floating_point, int>(false)) );
-  VERIFY( (test_category<is_floating_point, unsigned int>(false)) );
-  VERIFY( (test_category<is_floating_point, long>(false)) );
-  VERIFY( (test_category<is_floating_point, unsigned long>(false)) );
-  VERIFY( (test_category<is_floating_point, long long>(false)) );
-  VERIFY( (test_category<is_floating_point, unsigned long long>(false)) );
-
-  VERIFY( (test_category<is_floating_point, float>(true)) );
-  VERIFY( (test_category<is_floating_point, double>(true)) );
-  VERIFY( (test_category<is_floating_point, long double>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_floating_point, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc
deleted file mode 100644 (file)
index b19cf1f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_floating_point<int>    test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/24808.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/24808.cc
deleted file mode 100644 (file)
index 6ba9969..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-// libstdc++/24808
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_function;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_function, IncompleteClass>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc
deleted file mode 100644 (file)
index 1ada912..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005, 2006, 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_function;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<is_function, int (int)>(true)) );
-  VERIFY( (test_category<is_function, ClassType (ClassType)>(true)) );
-  VERIFY( (test_category<is_function, float (int, float, int[], int&)>(true)) );
-  VERIFY( (test_category<is_function, int (int, ...)>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<is_function, int&>(false)) );
-  VERIFY( (test_category<is_function, void>(false)) );
-  VERIFY( (test_category<is_function, const void>(false)) );
-
-  VERIFY( (test_category<is_function, AbstractClass>(false)) );
-  VERIFY( (test_category<is_function, int(&)(int)>(false)) );
-  
-  // Sanity check.
-  VERIFY( (test_category<is_function, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc
deleted file mode 100644 (file)
index db70185..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_function<int>          test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc
deleted file mode 100644 (file)
index 2876c6d..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_integral;
-  using namespace __gnu_test;
-  
-  VERIFY( (test_category<is_integral, void>(false)) );
-  
-  VERIFY( (test_category<is_integral, char>(true)) );
-  VERIFY( (test_category<is_integral, signed char>(true)) );
-  VERIFY( (test_category<is_integral, unsigned char>(true)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
-  VERIFY( (test_category<is_integral, wchar_t>(true)) );
-#endif
-  VERIFY( (test_category<is_integral, short>(true)) );
-  VERIFY( (test_category<is_integral, unsigned short>(true)) );
-  VERIFY( (test_category<is_integral, int>(true)) );
-  VERIFY( (test_category<is_integral, unsigned int>(true)) );
-  VERIFY( (test_category<is_integral, long>(true)) );
-  VERIFY( (test_category<is_integral, unsigned long>(true)) );
-  VERIFY( (test_category<is_integral, long long>(true)) );
-  VERIFY( (test_category<is_integral, unsigned long long>(true)) );
-
-  VERIFY( (test_category<is_integral, float>(false)) );
-  VERIFY( (test_category<is_integral, double>(false)) );
-  VERIFY( (test_category<is_integral, long double>(false)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_integral, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc
deleted file mode 100644 (file)
index 19d6a67..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_integral<int>          test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc
deleted file mode 100644 (file)
index b0b3f80..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_member_function_pointer;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<is_member_function_pointer,
-          int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<is_member_function_pointer,
-          int (ClassType::*) (int) const>(true)) );
-  VERIFY( (test_category<is_member_function_pointer,
-          int (ClassType::*) (float, ...)>(true)) );
-  VERIFY( (test_category<is_member_function_pointer,
-          ClassType (ClassType::*) (ClassType)>(true)) );
-  VERIFY( (test_category<is_member_function_pointer,
-          float (ClassType::*) (int, float, int[], int&)>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<is_member_function_pointer,
-          int (ClassType::*)>(false)) );
-  VERIFY( (test_category<is_member_function_pointer,
-          const int (ClassType::*)>(false)) );
-  VERIFY( (test_category<is_member_function_pointer,
-          ClassType (ClassType::*)>(false)) );
-  
-  // Sanity check.
-  VERIFY( (test_category<is_member_function_pointer, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc
deleted file mode 100644 (file)
index 48f1f22..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_member_function_pointer<int> test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc
deleted file mode 100644 (file)
index e873edf..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_member_object_pointer;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<is_member_object_pointer,
-          int (ClassType::*)>(true)) );
-  VERIFY( (test_category<is_member_object_pointer,
-          const int (ClassType::*)>(true)) );
-  VERIFY( (test_category<is_member_object_pointer,
-          ClassType (ClassType::*)>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<is_member_object_pointer,
-          int (ClassType::*) (int)>(false)) );
-  VERIFY( (test_category<is_member_object_pointer,
-          int (ClassType::*) (int) const>(false)) );
-  VERIFY( (test_category<is_member_object_pointer,
-          int (ClassType::*) (float, ...)>(false)) );
-  VERIFY( (test_category<is_member_object_pointer,
-          ClassType (ClassType::*) (ClassType)>(false)) );
-  VERIFY( (test_category<is_member_object_pointer,
-          float (ClassType::*) (int, float, int[], int&)>(false)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_member_object_pointer, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc
deleted file mode 100644 (file)
index 0add4a0..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_member_object_pointer<int>   test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc
deleted file mode 100644 (file)
index 7435647..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_pointer;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_pointer, int*>(true)) );
-  VERIFY( (test_category<is_pointer, ClassType*>(true)) );
-  VERIFY( (test_category<is_pointer, int(*)(int)>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_pointer, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc
deleted file mode 100644 (file)
index 6ba35d1..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_pointer<int>           test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc
deleted file mode 100644 (file)
index 8a799b7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// 2004-12-06  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_reference;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_reference, int&>(true)) );
-  VERIFY( (test_category<is_reference, ClassType&>(true)) );
-  VERIFY( (test_category<is_reference, int(&)(int)>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_reference, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc
deleted file mode 100644 (file)
index 30c9e27..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-06  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_reference<int>         test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_union/is_union.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_union/is_union.cc
deleted file mode 100644 (file)
index e381f88..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_union;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<is_union, UnionType>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<is_union, ClassType>(false)) );
-  VERIFY( (test_category<is_union, DerivedType>(false)) );
-  VERIFY( (test_category<is_union, ConvType>(false)) );
-  VERIFY( (test_category<is_union, AbstractClass>(false)) );
-  VERIFY( (test_category<is_union, PolymorphicClass>(false)) );
-  VERIFY( (test_category<is_union, DerivedPolymorphic>(false)) );
-  VERIFY( (test_category<is_union, void>(false)) );
-  VERIFY( (test_category<is_union, int>(false)) );
-  VERIFY( (test_category<is_union, float>(false)) );
-  VERIFY( (test_category<is_union, int[2]>(false)) );
-  VERIFY( (test_category<is_union, int*>(false)) );
-  VERIFY( (test_category<is_union, int(*)(int)>(false)) );
-  VERIFY( (test_category<is_union, float&>(false)) );
-  VERIFY( (test_category<is_union, float(&)(float)>(false)) );
-  VERIFY( (test_category<is_union, int (ClassType::*)>(false)) );
-  VERIFY( (test_category<is_union, int (ClassType::*) (int)>(false)) );
-  VERIFY( (test_category<is_union, int (int)>(false)) );
-  VERIFY( (test_category<is_union, EnumType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_union/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_union/typedefs.cc
deleted file mode 100644 (file)
index 9f24c5e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_union<int>             test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc
deleted file mode 100644 (file)
index 6f04508..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.1 Primary type categories
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_void;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_void, void>(true)) );
-  
-  VERIFY( (test_category<is_void, char>(false)) );
-  VERIFY( (test_category<is_void, signed char>(false)) );
-  VERIFY( (test_category<is_void, unsigned char>(false)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
-  VERIFY( (test_category<is_void, wchar_t>(false)) );
-#endif
-  VERIFY( (test_category<is_void, short>(false)) );
-  VERIFY( (test_category<is_void, unsigned short>(false)) );
-  VERIFY( (test_category<is_void, int>(false)) );
-  VERIFY( (test_category<is_void, unsigned int>(false)) );
-  VERIFY( (test_category<is_void, long>(false)) );
-  VERIFY( (test_category<is_void, unsigned long>(false)) );
-  VERIFY( (test_category<is_void, long long>(false)) );
-  VERIFY( (test_category<is_void, unsigned long long>(false)) );
-  VERIFY( (test_category<is_void, float>(false)) );
-  VERIFY( (test_category<is_void, double>(false)) );
-  VERIFY( (test_category<is_void, long double>(false)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_void, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc
deleted file mode 100644 (file)
index 24d1913..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_void<int>              test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..d95c8b8
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct rank<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/requirements/typedefs.cc
new file mode 100644 (file)
index 0000000..800c316
--- /dev/null
@@ -0,0 +1,36 @@
+// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 
+// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+// { dg-do compile }
+
+void test01()
+{
+  // Check for required typedefs
+  typedef std::tr1::rank<int>                 test_type;
+  typedef test_type::value_type               value_type;
+  typedef test_type::type                     type;
+  typedef test_type::type::value_type         type_value_type;
+  typedef test_type::type::type               type_type;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/rank/value.cc
new file mode 100644 (file)
index 0000000..334de47
--- /dev/null
@@ -0,0 +1,47 @@
+// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.5.3 Type properties
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::rank;
+  using namespace __gnu_test;
+
+  VERIFY( (test_property<rank, int>(0)) );
+  VERIFY( (test_property<rank, int[2]>(1)) );
+  VERIFY( (test_property<rank, int[][4]>(2)) );
+  VERIFY( (test_property<rank, int[2][2][4][4][6][6]>(6)) );
+  VERIFY( (test_property<rank, ClassType>(0)) );
+  VERIFY( (test_property<rank, ClassType[2]>(1)) );
+  VERIFY( (test_property<rank, ClassType[][4]>(2)) );
+  VERIFY( (test_property<rank, ClassType[2][2][4][4][6][6]>(6)) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc
deleted file mode 100644 (file)
index 29ad8c3..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005, 2006 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.
-
-// 4.7.2 Reference modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::add_reference;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<add_reference<int>::type, int&>::value) );
-  VERIFY( (is_same<add_reference<int&>::type, int&>::value) );
-  VERIFY( (is_same<add_reference<const int>::type, const int&>::value) );
-  VERIFY( (is_same<add_reference<int*>::type, int*&>::value) );
-  VERIFY( (is_same<add_reference<ClassType&>::type, ClassType&>::value) );
-  VERIFY( (is_same<add_reference<ClassType>::type, ClassType&>::value) );
-
-  VERIFY( (is_same<add_reference<void>::type, void>::value) );
-  VERIFY( (is_same<add_reference<const void>::type, const void>::value) );  
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc
deleted file mode 100644 (file)
index e32312f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.7.2 Reference modifications
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::remove_reference;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  VERIFY( (is_same<remove_reference<int&>::type, int>::value) );
-  VERIFY( (is_same<remove_reference<int>::type, int>::value) );
-  VERIFY( (is_same<remove_reference<const int&>::type, const int>::value) );
-  VERIFY( (is_same<remove_reference<int*&>::type, int*>::value) );
-  VERIFY( (is_same<remove_reference<ClassType&>::type, ClassType>::value) );
-  VERIFY( (is_same<remove_reference<ClassType>::type, ClassType>::value) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc
deleted file mode 100644 (file)
index 07c1794..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-// 2005-03-04  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.6 Relationships between types
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-class HiddenCons
-{
-  HiddenCons();
-  HiddenCons(const HiddenCons&);
-};
-
-class DerivedHiddenCons
-: private HiddenCons
-{
-  DerivedHiddenCons();
-  DerivedHiddenCons(const DerivedHiddenCons&);
-};
-
-class MultiDerivedHiddenCons
-: private HiddenCons, private __gnu_test::ClassType 
-{
-  MultiDerivedHiddenCons();
-  MultiDerivedHiddenCons(const MultiDerivedHiddenCons&);
-};
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_base_of;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_relationship<is_base_of, int, int>(true)) );
-  VERIFY( (test_relationship<is_base_of, EnumType, EnumType>(true)) );
-  VERIFY( (test_relationship<is_base_of, UnionType, UnionType>(true)) );
-  VERIFY( (test_relationship<is_base_of, AbstractClass,
-          AbstractClass>(true)) );
-  VERIFY( (test_relationship<is_base_of, ClassType, DerivedType>(true)) );
-  VERIFY( (test_relationship<is_base_of, ClassType, const DerivedType>(true)) );
-  VERIFY( (test_relationship<is_base_of, volatile ClassType,
-          volatile DerivedType>(true)) );  
-  VERIFY( (test_relationship<is_base_of, PolymorphicClass,
-          DerivedPolymorphic>(true)) );
-  VERIFY( (test_relationship<is_base_of, HiddenCons,
-          DerivedHiddenCons>(true)) );
-  VERIFY( (test_relationship<is_base_of, HiddenCons,
-          MultiDerivedHiddenCons>(true)) );
-  VERIFY( (test_relationship<is_base_of, ClassType,
-          MultiDerivedHiddenCons>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_relationship<is_base_of, int, const int>(false)) );
-  VERIFY( (test_relationship<is_base_of, volatile UnionType,
-          UnionType>(false)) );
-  VERIFY( (test_relationship<is_base_of, int&, ClassType>(false)) );
-  VERIFY( (test_relationship<is_base_of, AbstractClass, ClassType>(false)) );
-  VERIFY( (test_relationship<is_base_of, ClassType, AbstractClass>(false)) );  
-  VERIFY( (test_relationship<is_base_of, DerivedType, ClassType>(false)) );
-  VERIFY( (test_relationship<is_base_of, DerivedPolymorphic,
-          PolymorphicClass>(false)) );
-  VERIFY( (test_relationship<is_base_of, DerivedHiddenCons,
-          HiddenCons>(false)) );
-  VERIFY( (test_relationship<is_base_of, MultiDerivedHiddenCons,
-          HiddenCons>(false)) );
-  VERIFY( (test_relationship<is_base_of, MultiDerivedHiddenCons,
-          ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc
deleted file mode 100644 (file)
index 37ad6c6..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2005-03-04  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_base_of<int, int>      test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc
deleted file mode 100644 (file)
index 7d98b01..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-// 2005-02-23  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.6 Relationships between types
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_convertible;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_relationship<is_convertible, int, int>(true)) );
-  VERIFY( (test_relationship<is_convertible, int, const int>(true)) );
-  VERIFY( (test_relationship<is_convertible, volatile int, const int>(true)) );
-  VERIFY( (test_relationship<is_convertible, int, float>(true)) );
-  VERIFY( (test_relationship<is_convertible, double, float>(true)) );
-  VERIFY( (test_relationship<is_convertible, float, int>(true)) );
-  VERIFY( (test_relationship<is_convertible, int*, const int*>(true)) );
-  VERIFY( (test_relationship<is_convertible, int*, void*>(true)) );
-  VERIFY( (test_relationship<is_convertible, int[4], int*>(true)) );
-  VERIFY( (test_relationship<is_convertible, float&, int>(true)) );
-  VERIFY( (test_relationship<is_convertible, int, const int&>(true)) ); 
-  VERIFY( (test_relationship<is_convertible, const int&, int>(true)) );
-  VERIFY( (test_relationship<is_convertible, float, const int&>(true)) );
-  VERIFY( (test_relationship<is_convertible, float, volatile float&>(true)) );
-  VERIFY( (test_relationship<is_convertible, int(int), int(*)(int)>(true)) );
-  VERIFY( (test_relationship<is_convertible, int(int), int(&)(int)>(true)) );
-  VERIFY( (test_relationship<is_convertible, int(&)(int), int(*)(int)>(true)) );
-  VERIFY( (test_relationship<is_convertible, EnumType, int>(true)) );
-  VERIFY( (test_relationship<is_convertible, ClassType, ClassType>(true)) );
-  VERIFY( (test_relationship<is_convertible, DerivedType, ClassType>(true)) );
-  VERIFY( (test_relationship<is_convertible, DerivedType*, ClassType*>(true)) );
-  VERIFY( (test_relationship<is_convertible, DerivedType&, ClassType&>(true)) );
-
-  VERIFY( (test_relationship<is_convertible, void, void>(true)) );
-  VERIFY( (test_relationship<is_convertible, int, void>(true)) );
-  VERIFY( (test_relationship<is_convertible, int[4], void>(true)) );  
-
-  // Negative tests.
-  VERIFY( (test_relationship<is_convertible, const int*, int*>(false)) );
-  VERIFY( (test_relationship<is_convertible, int*, float*>(false)) );
-  VERIFY( (test_relationship<is_convertible, const int[4], int*>(false)) );
-  VERIFY( (test_relationship<is_convertible, int[4], int[4]>(false)) );
-  VERIFY( (test_relationship<is_convertible, const int&, int&>(false)) );
-  VERIFY( (test_relationship<is_convertible, float&, int&>(false)) );  
-  VERIFY( (test_relationship<is_convertible, float, volatile int&>(false)) );
-  VERIFY( (test_relationship<is_convertible, int(int), int(int)>(false)) );
-  VERIFY( (test_relationship<is_convertible, int(int), int(*)(void)>(false)) );
-  VERIFY( (test_relationship<is_convertible, int(*)(int), int(&)(int)>(false)) );
-  VERIFY( (test_relationship<is_convertible, int, EnumType>(false)) );
-  VERIFY( (test_relationship<is_convertible, int, ClassType>(false)) );
-  VERIFY( (test_relationship<is_convertible, ClassType, DerivedType>(false)) );
-  VERIFY( (test_relationship<is_convertible, ClassType*, DerivedType*>(false)) );
-  VERIFY( (test_relationship<is_convertible, ClassType&, DerivedType&>(false)) );
-
-  VERIFY( (test_relationship<is_convertible, void, int>(false)) );
-  VERIFY( (test_relationship<is_convertible, void, float>(false)) );  
-  VERIFY( (test_relationship<is_convertible, void, int(*)(int)>(false)) );  
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc
deleted file mode 100644 (file)
index 6ee1de1..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2005-02-23  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_convertible<int, int>  test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc
deleted file mode 100644 (file)
index 0fbae2e..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-// 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.6 Relationships between types
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_same;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_relationship<is_same, int, int>(true)) );
-  VERIFY( (test_relationship<is_same, const int, const int>(true)) );
-  VERIFY( (test_relationship<is_same, int&, int&>(true)) );
-  VERIFY( (test_relationship<is_same, ClassType, ClassType>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_relationship<is_same, void, int>(false)) );
-  VERIFY( (test_relationship<is_same, int, const int>(false)) );
-  VERIFY( (test_relationship<is_same, int, int&>(false)) );
-  VERIFY( (test_relationship<is_same, int, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc
deleted file mode 100644 (file)
index 460ebbb..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_same<int, int>         test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..3541128
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct remove_all_extents<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc
new file mode 100644 (file)
index 0000000..8d0504e
--- /dev/null
@@ -0,0 +1,54 @@
+// 2004-12-09  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.3 Array modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::remove_all_extents;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<remove_all_extents<int>::type, int>::value) );
+  VERIFY( (is_same<remove_all_extents<int[2]>::type, int>::value) );
+  VERIFY( (is_same<remove_all_extents<int[2][3]>::type, int>::value) );
+  VERIFY( (is_same<remove_all_extents<int[][3]>::type, int>::value) );
+  VERIFY( (is_same<remove_all_extents<const int[2][3]>::type,
+          const int>::value) );
+  VERIFY( (is_same<remove_all_extents<ClassType>::type, ClassType>::value) );
+  VERIFY( (is_same<remove_all_extents<ClassType[2]>::type, ClassType>::value) );
+  VERIFY( (is_same<remove_all_extents<ClassType[2][3]>::type,
+          ClassType>::value) );
+  VERIFY( (is_same<remove_all_extents<ClassType[][3]>::type,
+          ClassType>::value) );
+  VERIFY( (is_same<remove_all_extents<const ClassType[2][3]>::type,
+          const ClassType>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..d9e8095
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct remove_const<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_const/value.cc
new file mode 100644 (file)
index 0000000..792596e
--- /dev/null
@@ -0,0 +1,47 @@
+// 2004-12-10  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.1 Const-volatile modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::remove_const;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<remove_const<const volatile int>::type,
+          volatile int>::value) );
+  VERIFY( (is_same<remove_const<const int*>::type, const int*>::value) );
+  VERIFY( (is_same<remove_const<const volatile ClassType>::type,
+          volatile ClassType>::value) );
+  VERIFY( (is_same<remove_const<const ClassType*>::type,
+          const ClassType*>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..964c3f9
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct remove_cv<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_cv/value.cc
new file mode 100644 (file)
index 0000000..1afcc78
--- /dev/null
@@ -0,0 +1,47 @@
+// 2004-12-10  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.1 Const-volatile modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::remove_cv;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<remove_cv<const volatile int>::type, int>::value) );
+  VERIFY( (is_same<remove_cv<const volatile int*>::type,
+          const volatile int*>::value) );
+  VERIFY( (is_same<remove_cv<const volatile ClassType>::type,
+          ClassType>::value) );
+  VERIFY( (is_same<remove_cv<const volatile ClassType*>::type,
+          const volatile ClassType*>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..1dfe1ba
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct remove_extent<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_extent/value.cc
new file mode 100644 (file)
index 0000000..886f844
--- /dev/null
@@ -0,0 +1,53 @@
+// 2004-12-09  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.3 Array modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::remove_extent;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<remove_extent<int>::type, int>::value) );
+  VERIFY( (is_same<remove_extent<int[2]>::type, int>::value) );
+  VERIFY( (is_same<remove_extent<int[2][3]>::type, int[3]>::value) );
+  VERIFY( (is_same<remove_extent<int[][3]>::type, int[3]>::value) );
+  VERIFY( (is_same<remove_extent<const int[2]>::type, const int>::value) );
+  VERIFY( (is_same<remove_extent<ClassType>::type, ClassType>::value) );
+  VERIFY( (is_same<remove_extent<ClassType[2]>::type, ClassType>::value) );
+  VERIFY( (is_same<remove_extent<ClassType[2][3]>::type,
+          ClassType[3]>::value) );
+  VERIFY( (is_same<remove_extent<ClassType[][3]>::type,
+          ClassType[3]>::value) );
+  VERIFY( (is_same<remove_extent<const ClassType[2]>::type,
+          const ClassType>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..12b8e6f
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct remove_pointer<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_pointer/value.cc
new file mode 100644 (file)
index 0000000..6c17d02
--- /dev/null
@@ -0,0 +1,46 @@
+// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.2 Reference modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::remove_pointer;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<remove_pointer<int*>::type, int>::value) );
+  VERIFY( (is_same<remove_pointer<int>::type, int>::value) );
+  VERIFY( (is_same<remove_pointer<const int*>::type, const int>::value) );
+  VERIFY( (is_same<remove_pointer<int**>::type, int*>::value) );
+  VERIFY( (is_same<remove_pointer<ClassType*>::type, ClassType>::value) );
+  VERIFY( (is_same<remove_pointer<ClassType>::type, ClassType>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..70555cb
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct remove_reference<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_reference/value.cc
new file mode 100644 (file)
index 0000000..e32312f
--- /dev/null
@@ -0,0 +1,46 @@
+// 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.2 Reference modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::remove_reference;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<remove_reference<int&>::type, int>::value) );
+  VERIFY( (is_same<remove_reference<int>::type, int>::value) );
+  VERIFY( (is_same<remove_reference<const int&>::type, const int>::value) );
+  VERIFY( (is_same<remove_reference<int*&>::type, int*>::value) );
+  VERIFY( (is_same<remove_reference<ClassType&>::type, ClassType>::value) );
+  VERIFY( (is_same<remove_reference<ClassType>::type, ClassType>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/requirements/explicit_instantiations.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/requirements/explicit_instantiations.cc
new file mode 100644 (file)
index 0000000..bd87c69
--- /dev/null
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2007 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 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.
+
+// NB: This file is for testing basic_ofstream with NO OTHER INCLUDES.
+
+#include <tr1/type_traits>
+
+namespace std
+{
+  namespace tr1
+  {
+    typedef short test_type;
+    template struct remove_volatile<test_type>;
+  }
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/value.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/remove_volatile/value.cc
new file mode 100644 (file)
index 0000000..35c3d8e
--- /dev/null
@@ -0,0 +1,48 @@
+// 2004-12-10  Paolo Carlini  <pcarlini@suse.de>
+//
+// Copyright (C) 2004 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.
+
+// 4.7.1 Const-volatile modifications
+
+#include <tr1/type_traits>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+  bool test __attribute__((unused)) = true;
+  using std::tr1::remove_volatile;
+  using std::tr1::is_same;
+  using namespace __gnu_test;
+
+  VERIFY( (is_same<remove_volatile<const volatile int>::type,
+          const int>::value) );
+  VERIFY( (is_same<remove_volatile<volatile int*>::type,
+          volatile int*>::value) );
+  VERIFY( (is_same<remove_volatile<const volatile ClassType>::type,
+          const ClassType>::value) );
+  VERIFY( (is_same<remove_volatile<volatile ClassType*>::type,
+          volatile ClassType*>::value) );
+}
+
+int main()
+{
+  test01();
+  return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc
deleted file mode 100644 (file)
index 6da2822..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::alignment_of;
-  using namespace __gnu_test;
-
-  VERIFY( (test_property<alignment_of, char>(__alignof__(char))) );
-  VERIFY( (test_property<alignment_of, short>(__alignof__(short))) );
-  VERIFY( (test_property<alignment_of, int>(__alignof__(int))) );
-  VERIFY( (test_property<alignment_of, double>(__alignof__(double))) );
-  VERIFY( (test_property<alignment_of, int[4]>(__alignof__(int[4]))) );
-  VERIFY( (test_property<alignment_of, ClassType>(__alignof__(ClassType))) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc
deleted file mode 100644 (file)
index 8df7bba..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::alignment_of<int>         test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
deleted file mode 100644 (file)
index 6ccecac..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::extent;
-  using namespace __gnu_test;
-
-  VERIFY( (test_property<extent, int, 0>(0)) );
-  VERIFY( (test_property<extent, int[2], 0>(2)) );
-  VERIFY( (test_property<extent, int[2][4], 0>(2)) );
-  VERIFY( (test_property<extent, int[][4], 0>(0)) );
-  VERIFY( (extent<int, 1>::value == 0) );
-  VERIFY( (extent<int[2], 1>::value == 0) );
-  VERIFY( (extent<int[2][4], 1>::value == 4) );
-  VERIFY( (extent<int[][4], 1>::value == 4) );
-  VERIFY( (extent<int[10][4][6][8][12][2], 4>::value == 12) );
-  VERIFY( (test_property<extent, ClassType, 0>(0)) );
-  VERIFY( (test_property<extent, ClassType[2], 0>(2)) );
-  VERIFY( (test_property<extent, ClassType[2][4], 0>(2)) );
-  VERIFY( (test_property<extent, ClassType[][4], 0>(0)) );
-  VERIFY( (extent<ClassType, 1>::value == 0) );
-  VERIFY( (extent<ClassType[2], 1>::value == 0) );
-  VERIFY( (extent<ClassType[2][4], 1>::value == 4) );
-  VERIFY( (extent<ClassType[][4], 1>::value == 4) );
-  VERIFY( (extent<ClassType[10][4][6][8][12][2], 4>::value == 12) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc
deleted file mode 100644 (file)
index c7d4b95..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::extent<int, 1>            test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc
deleted file mode 100644 (file)
index b74d932..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::has_nothrow_assign;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<has_nothrow_assign, void>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, int>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, float>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, EnumType>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, int*>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, int(*)(int)>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, int[2]>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, float[][3]>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, EnumType[2][3][4]>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, int*[3]>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, int(*[][2])(int)>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, int (ClassType::*[2][3])>(true)) );
-  VERIFY( (test_category<has_nothrow_assign, 
-          int (ClassType::*[][2][3]) (int)>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc
deleted file mode 100644 (file)
index 7251a3a..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::has_nothrow_assign<int>   test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc
deleted file mode 100644 (file)
index 02743a1..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-// 2004-12-29  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005, 2006, 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::has_nothrow_constructor;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<has_nothrow_constructor, void>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, int>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, float>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, EnumType>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, int*>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, int(*)(int)>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor,
-          int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, int[2]>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, float[][3]>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, EnumType[2][3][4]>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, int*[3]>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, int(*[][2])(int)>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor,
-          int (ClassType::*[2][3])>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor,
-          int (ClassType::*[][2][3]) (int)>(true)) );
-  VERIFY( (test_category<has_nothrow_constructor, ClassType>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc
deleted file mode 100644 (file)
index 9e11984..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-29  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::has_nothrow_constructor<int>    test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc
deleted file mode 100644 (file)
index 2ba1d9e..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::has_nothrow_copy;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<has_nothrow_copy, void>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, int>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, float>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, EnumType>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, int*>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, int(*)(int)>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, int[2]>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, float[][3]>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, EnumType[2][3][4]>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, int*[3]>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, int(*[][2])(int)>(true)) );
-  VERIFY( (test_category<has_nothrow_copy, int (ClassType::*[2][3])>(true)) );
-  VERIFY( (test_category<has_nothrow_copy,
-          int (ClassType::*[][2][3]) (int)>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc
deleted file mode 100644 (file)
index 4ec8cb0..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::has_nothrow_copy<int>     test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc
deleted file mode 100644 (file)
index ac35535..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::has_trivial_assign;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<has_trivial_assign, void>(true)) );
-  VERIFY( (test_category<has_trivial_assign, int>(true)) );
-  VERIFY( (test_category<has_trivial_assign, float>(true)) );
-  VERIFY( (test_category<has_trivial_assign, EnumType>(true)) );
-  VERIFY( (test_category<has_trivial_assign, int*>(true)) );
-  VERIFY( (test_category<has_trivial_assign, int(*)(int)>(true)) );
-  VERIFY( (test_category<has_trivial_assign, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<has_trivial_assign, int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<has_trivial_assign, int[2]>(true)) );
-  VERIFY( (test_category<has_trivial_assign, float[][3]>(true)) );
-  VERIFY( (test_category<has_trivial_assign, EnumType[2][3][4]>(true)) );
-  VERIFY( (test_category<has_trivial_assign, int*[3]>(true)) );
-  VERIFY( (test_category<has_trivial_assign, int(*[][2])(int)>(true)) );
-  VERIFY( (test_category<has_trivial_assign, int (ClassType::*[2][3])>(true)) );
-  VERIFY( (test_category<has_trivial_assign,
-          int (ClassType::*[][2][3]) (int)>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc
deleted file mode 100644 (file)
index 124131d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::has_trivial_assign<int>   test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc
deleted file mode 100644 (file)
index f6b1a1a..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005, 2006, 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::has_trivial_constructor;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<has_trivial_constructor, void>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, int>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, float>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, EnumType>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, int*>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, int(*)(int)>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<has_trivial_constructor,
-          int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, int[2]>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, float[][3]>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, EnumType[2][3][4]>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, int*[3]>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, int(*[][2])(int)>(true)) );
-  VERIFY( (test_category<has_trivial_constructor,
-          int (ClassType::*[2][3])>(true)) );
-  VERIFY( (test_category<has_trivial_constructor,
-          int (ClassType::*[][2][3]) (int)>(true)) );
-  VERIFY( (test_category<has_trivial_constructor, ClassType>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc
deleted file mode 100644 (file)
index f6a57fc..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::has_trivial_constructor<int>    test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc
deleted file mode 100644 (file)
index 8158c18..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::has_trivial_copy;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<has_trivial_copy, void>(true)) );
-  VERIFY( (test_category<has_trivial_copy, int>(true)) );
-  VERIFY( (test_category<has_trivial_copy, float>(true)) );
-  VERIFY( (test_category<has_trivial_copy, EnumType>(true)) );
-  VERIFY( (test_category<has_trivial_copy, int*>(true)) );
-  VERIFY( (test_category<has_trivial_copy, int(*)(int)>(true)) );
-  VERIFY( (test_category<has_trivial_copy, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<has_trivial_copy, int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<has_trivial_copy, int[2]>(true)) );
-  VERIFY( (test_category<has_trivial_copy, float[][3]>(true)) );
-  VERIFY( (test_category<has_trivial_copy, EnumType[2][3][4]>(true)) );
-  VERIFY( (test_category<has_trivial_copy, int*[3]>(true)) );
-  VERIFY( (test_category<has_trivial_copy, int(*[][2])(int)>(true)) );
-  VERIFY( (test_category<has_trivial_copy, int (ClassType::*[2][3])>(true)) );
-  VERIFY( (test_category<has_trivial_copy,
-          int (ClassType::*[][2][3]) (int)>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc
deleted file mode 100644 (file)
index 0996f46..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::has_trivial_copy<int>     test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc
deleted file mode 100644 (file)
index 197de98..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005, 2006, 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::has_trivial_destructor;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<has_trivial_destructor, void>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, int>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, float>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, EnumType>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, int*>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, int(*)(int)>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<has_trivial_destructor,
-          int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, int[2]>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, float[][3]>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, EnumType[2][3][4]>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, int*[3]>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, int(*[][2])(int)>(true)) );
-  VERIFY( (test_category<has_trivial_destructor,
-          int (ClassType::*[2][3])>(true)) );
-  VERIFY( (test_category<has_trivial_destructor,
-          int (ClassType::*[][2][3]) (int)>(true)) );
-  VERIFY( (test_category<has_trivial_destructor, ClassType>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc
deleted file mode 100644 (file)
index 9486589..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::has_trivial_destructor<int>     test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_virtual_destructor/has_virtual_destructor.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_virtual_destructor/has_virtual_destructor.cc
deleted file mode 100644 (file)
index 910aede..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <iostream>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::has_virtual_destructor;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<has_virtual_destructor,
-          VirtualDestructorClass>(true)) );
-  VERIFY( (test_category<has_virtual_destructor, std::iostream>(true)) );
-  VERIFY( (test_category<has_virtual_destructor, std::streambuf>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<has_virtual_destructor, PolymorphicClass>(false)) );
-  VERIFY( (test_category<has_virtual_destructor, DerivedPolymorphic>(false)) );
-  VERIFY( (test_category<has_virtual_destructor, AbstractClass>(false)) );
-  VERIFY( (test_category<has_virtual_destructor, void>(false)) );
-  VERIFY( (test_category<has_virtual_destructor, int (int)>(false)) );
-  VERIFY( (test_category<has_virtual_destructor, int&>(false)) );
-  VERIFY( (test_category<has_virtual_destructor, EnumType>(false)) );
-  VERIFY( (test_category<has_virtual_destructor, ClassType>(false)) );
-  VERIFY( (test_category<has_virtual_destructor, DerivedType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_virtual_destructor/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_virtual_destructor/typedefs.cc
deleted file mode 100644 (file)
index 94d81ea..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2007-04-08  Paolo Carlini  <pcarlini@suse.de>
-//
-// 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::has_virtual_destructor<int>     test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc
deleted file mode 100644 (file)
index 89a10b3..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_abstract;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<is_abstract, AbstractClass>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<is_abstract, void>(false)) );
-  VERIFY( (test_category<is_abstract, int (int)>(false)) );
-  VERIFY( (test_category<is_abstract, int&>(false)) );
-  
-  // Sanity check.
-  VERIFY( (test_category<is_abstract, ClassType>(false)) );  
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc
deleted file mode 100644 (file)
index 49bb463..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_abstract<int>          test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc
deleted file mode 100644 (file)
index 55f3656..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-// 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_const;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_property<is_const, const int>(true)) );
-  VERIFY( (test_property<is_const, const volatile int>(true)) );
-  VERIFY( (test_property<is_const, cClassType>(true)) );
-  VERIFY( (test_property<is_const, cvClassType>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_property<is_const, int>(false)) );
-  VERIFY( (test_property<is_const, volatile int>(false)) );
-  VERIFY( (test_property<is_const, ClassType>(false)) );
-  VERIFY( (test_property<is_const, vClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc
deleted file mode 100644 (file)
index 3a5dd66..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_const<int>             test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc
deleted file mode 100644 (file)
index 62b83a4..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-// 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-class EmptyClassOne
-{ typedef int type; };
-
-class EmptyClassTwo
-{ static int data; };
-
-class EmptyClassThree
-{ int f(); };
-
-class NonEmptyClassOne
-{ int data; };
-
-class NonEmptyClassTwo
-{
-  virtual int f();
-  virtual ~NonEmptyClassTwo();
-};
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_empty;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<is_empty, ClassType>(true)) );
-  VERIFY( (test_category<is_empty, EmptyClassOne>(true)) );
-  VERIFY( (test_category<is_empty, EmptyClassTwo>(true)) );
-  VERIFY( (test_category<is_empty, EmptyClassThree>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<is_empty, void>(false)) );
-  VERIFY( (test_category<is_empty, float>(false)) );
-  VERIFY( (test_category<is_empty, int[4]>(false)) );
-  VERIFY( (test_category<is_empty, int*>(false)) );
-  VERIFY( (test_category<is_empty, int&>(false)) );
-  VERIFY( (test_category<is_empty, int (ClassType::*)>(false)) );
-  VERIFY( (test_category<is_empty, EnumType>(false)) );
-  VERIFY( (test_category<is_empty, int (int)>(false)) );
-
-  VERIFY( (test_category<is_empty, AbstractClass>(false)) );
-  VERIFY( (test_category<is_empty, NonEmptyClassOne>(false)) );
-  VERIFY( (test_category<is_empty, NonEmptyClassTwo>(false)) );  
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc
deleted file mode 100644 (file)
index 346581d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_empty<int>             test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc
deleted file mode 100644 (file)
index 12a4a45..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004, 2005, 2006, 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_pod;
-  using namespace __gnu_test;
-
-  VERIFY( (test_category<is_pod, void>(true)) );
-  VERIFY( (test_category<is_pod, int>(true)) );
-  VERIFY( (test_category<is_pod, float>(true)) );
-  VERIFY( (test_category<is_pod, EnumType>(true)) );
-  VERIFY( (test_category<is_pod, int*>(true)) );
-  VERIFY( (test_category<is_pod, int(*)(int)>(true)) );
-  VERIFY( (test_category<is_pod, int (ClassType::*)>(true)) );
-  VERIFY( (test_category<is_pod, int (ClassType::*) (int)>(true)) );
-  VERIFY( (test_category<is_pod, int[2]>(true)) );
-  VERIFY( (test_category<is_pod, float[][3]>(true)) );
-  VERIFY( (test_category<is_pod, EnumType[2][3][4]>(true)) );
-  VERIFY( (test_category<is_pod, int*[3]>(true)) );
-  VERIFY( (test_category<is_pod, int(*[][2])(int)>(true)) );
-  VERIFY( (test_category<is_pod, int (ClassType::*[2][3])>(true)) );
-  VERIFY( (test_category<is_pod, int (ClassType::*[][2][3]) (int)>(true)) );
-  VERIFY( (test_category<is_pod, ClassType>(true)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc
deleted file mode 100644 (file)
index 8dbfd3c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_pod<int>               test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/24809.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/24809.cc
deleted file mode 100644 (file)
index 0b8ab0f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// { dg-do compile }
-
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <exception>
-
-// libstdc++/24809
-static const bool b = std::tr1::is_polymorphic<std::exception>::value;
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc
deleted file mode 100644 (file)
index 6dc5c1c..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// 2005-03-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005, 2006, 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <iostream>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_polymorphic;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_category<is_polymorphic, PolymorphicClass>(true)) );
-  VERIFY( (test_category<is_polymorphic, DerivedPolymorphic>(true)) );
-  VERIFY( (test_category<is_polymorphic, AbstractClass>(true)) );
-  VERIFY( (test_category<is_polymorphic, VirtualDestructorClass>(true)) );
-  VERIFY( (test_category<is_polymorphic, std::iostream>(true)) );
-  VERIFY( (test_category<is_polymorphic, std::streambuf>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_category<is_polymorphic, void>(false)) );
-  VERIFY( (test_category<is_polymorphic, int (int)>(false)) );
-  VERIFY( (test_category<is_polymorphic, int&>(false)) );
-  VERIFY( (test_category<is_polymorphic, EnumType>(false)) );
-  VERIFY( (test_category<is_polymorphic, ClassType>(false)) );
-  VERIFY( (test_category<is_polymorphic, DerivedType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc
deleted file mode 100644 (file)
index 14ba690..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2005-03-03  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_polymorphic<int>       test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc
deleted file mode 100644 (file)
index 351dde8..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_signed;
-  using namespace __gnu_test;
-  
-  VERIFY( (test_category<is_signed, void>(false)) );
-  
-  VERIFY( (test_category<is_signed, char>(false)) );
-  VERIFY( (test_category<is_signed, signed char>(true)) );
-  VERIFY( (test_category<is_signed, unsigned char>(false)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
-  VERIFY( (test_category<is_signed, wchar_t>(false)) );
-#endif
-  VERIFY( (test_category<is_signed, short>(true)) );
-  VERIFY( (test_category<is_signed, unsigned short>(false)) );
-  VERIFY( (test_category<is_signed, int>(true)) );
-  VERIFY( (test_category<is_signed, unsigned int>(false)) );
-  VERIFY( (test_category<is_signed, long>(true)) );
-  VERIFY( (test_category<is_signed, unsigned long>(false)) );
-  VERIFY( (test_category<is_signed, long long>(true)) );
-  VERIFY( (test_category<is_signed, unsigned long long>(false)) );
-
-  VERIFY( (test_category<is_signed, float>(false)) );
-  VERIFY( (test_category<is_signed, double>(false)) );
-  VERIFY( (test_category<is_signed, long double>(false)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_signed, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc
deleted file mode 100644 (file)
index 86730ae..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_signed<int>            test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc
deleted file mode 100644 (file)
index 19bb975..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_unsigned;
-  using namespace __gnu_test;
-  
-  VERIFY( (test_category<is_unsigned, void>(false)) );
-  
-  VERIFY( (test_category<is_unsigned, char>(false)) );
-  VERIFY( (test_category<is_unsigned, signed char>(false)) );
-  VERIFY( (test_category<is_unsigned, unsigned char>(true)) );
-#ifdef _GLIBCXX_USE_WCHAR_T
-  VERIFY( (test_category<is_unsigned, wchar_t>(false)) );
-#endif
-  VERIFY( (test_category<is_unsigned, short>(false)) );
-  VERIFY( (test_category<is_unsigned, unsigned short>(true)) );
-  VERIFY( (test_category<is_unsigned, int>(false)) );
-  VERIFY( (test_category<is_unsigned, unsigned int>(true)) );
-  VERIFY( (test_category<is_unsigned, long>(false)) );
-  VERIFY( (test_category<is_unsigned, unsigned long>(true)) );
-  VERIFY( (test_category<is_unsigned, long long>(false)) );
-  VERIFY( (test_category<is_unsigned, unsigned long long>(true)) );
-
-  VERIFY( (test_category<is_unsigned, float>(false)) );
-  VERIFY( (test_category<is_unsigned, double>(false)) );
-  VERIFY( (test_category<is_unsigned, long double>(false)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_unsigned, ClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc
deleted file mode 100644 (file)
index 4c90ece..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2005 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_unsigned<int>          test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc
deleted file mode 100644 (file)
index 6336ab7..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-// 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::is_volatile;
-  using namespace __gnu_test;
-
-  // Positive tests.
-  VERIFY( (test_property<is_volatile, volatile int>(true)) );
-  VERIFY( (test_property<is_volatile, const volatile int>(true)) );
-  VERIFY( (test_property<is_volatile, vClassType>(true)) );
-  VERIFY( (test_property<is_volatile, cvClassType>(true)) );
-
-  // Negative tests.
-  VERIFY( (test_property<is_volatile, int>(false)) );
-  VERIFY( (test_property<is_volatile, const int>(false)) );
-  VERIFY( (test_property<is_volatile, ClassType>(false)) );
-  VERIFY( (test_property<is_volatile, cClassType>(false)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc
deleted file mode 100644 (file)
index 2879442..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::is_volatile<int>          test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc
deleted file mode 100644 (file)
index 334de47..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 4.5.3 Type properties
-
-#include <tr1/type_traits>
-#include <testsuite_hooks.h>
-#include <testsuite_tr1.h>
-
-void test01()
-{
-  bool test __attribute__((unused)) = true;
-  using std::tr1::rank;
-  using namespace __gnu_test;
-
-  VERIFY( (test_property<rank, int>(0)) );
-  VERIFY( (test_property<rank, int[2]>(1)) );
-  VERIFY( (test_property<rank, int[][4]>(2)) );
-  VERIFY( (test_property<rank, int[2][2][4][4][6][6]>(6)) );
-  VERIFY( (test_property<rank, ClassType>(0)) );
-  VERIFY( (test_property<rank, ClassType[2]>(1)) );
-  VERIFY( (test_property<rank, ClassType[][4]>(2)) );
-  VERIFY( (test_property<rank, ClassType[2][2][4][4][6][6]>(6)) );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc b/libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc
deleted file mode 100644 (file)
index 800c316..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
-//
-// Copyright (C) 2004 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.
-
-// 
-// NB: This file is for testing tr1/type_traits with NO OTHER INCLUDES.
-
-#include <tr1/type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
-  // Check for required typedefs
-  typedef std::tr1::rank<int>                 test_type;
-  typedef test_type::value_type               value_type;
-  typedef test_type::type                     type;
-  typedef test_type::type::value_type         type_value_type;
-  typedef test_type::type::type               type_type;
-}