Commit bdaa4452 by Paolo Carlini Committed by Paolo Carlini

type_traits (is_member_function_pointer): Provide a workaround for c++/19076,…

type_traits (is_member_function_pointer): Provide a workaround for c++/19076, correct for functions with up to 15 arguments.

2004-12-31  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_member_function_pointer): Provide a
	workaround for c++/19076, correct for functions with up to 15
	arguments.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_member_pointer/is_member_pointer.cc: Uncomment "XFAILed" tests;
	add a test for variadic functions.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_scalar/is_scalar.cc: Uncomment "XFAILed" tests.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_enum/is_enum.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_function_pointer/is_member_function_pointer.cc: Likewise;
	add a test for variadic functions.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_object_pointer/is_member_object_pointer.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_assign/has_nothrow_assign.cc: Uncomment "XFAILed" tests.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_copy/has_nothrow_copy.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_assign/has_trivial_assign.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_constructor/has_trivial_constructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_copy/has_trivial_copy.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_destructor/has_trivial_destructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_pod/is_pod.cc: Likewise.

From-SVN: r92769
parent eac30183
2004-12-31 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (is_member_function_pointer): Provide a
workaround for c++/19076, correct for functions with up to 15
arguments.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_member_pointer/is_member_pointer.cc: Uncomment "XFAILed" tests;
add a test for variadic functions.
* testsuite/tr1/4_metaprogramming/composite_type_traits/
is_scalar/is_scalar.cc: Uncomment "XFAILed" tests.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_enum/is_enum.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_member_function_pointer/is_member_function_pointer.cc: Likewise;
add a test for variadic functions.
* testsuite/tr1/4_metaprogramming/primary_type_categories/
is_member_object_pointer/is_member_object_pointer.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_assign/has_nothrow_assign.cc: Uncomment "XFAILed" tests.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_copy/has_nothrow_copy.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_assign/has_trivial_assign.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_constructor/has_trivial_constructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_copy/has_trivial_copy.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_destructor/has_trivial_destructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
is_pod/is_pod.cc: Likewise.
2004-12-30 Paolo Carlini <pcarlini@suse.de> 2004-12-30 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Add has_trivial_copy, has_trivial_assign, * include/tr1/type_traits: Add has_trivial_copy, has_trivial_assign,
......
...@@ -34,16 +34,16 @@ void test01() ...@@ -34,16 +34,16 @@ void test01()
VERIFY( (test_category<is_member_pointer, const 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, ClassType (ClassType::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<is_member_pointer,
int (ClassType::*) (int)>(true)) );
//VERIFY( (test_category<is_member_pointer, VERIFY( (test_category<is_member_pointer,
// int (ClassType::*) (int)>(true)) ); int (ClassType::*) (int) const>(true)) );
//VERIFY( (test_category<is_member_pointer, VERIFY( (test_category<is_member_pointer,
// int (ClassType::*) (int) const>(true)) ); int (ClassType::*) (float, ...)>(true)) );
//VERIFY( (test_category<is_member_function_pointer, VERIFY( (test_category<is_member_pointer,
// ClassType (ClassType::*) (ClassType)>(true)) ); ClassType (ClassType::*) (ClassType)>(true)) );
//VERIFY( (test_category<is_member_pointer, VERIFY( (test_category<is_member_pointer,
// float (ClassType::*) (int, float, int[], int&)>(true)) ); float (ClassType::*) (int, float, int[], int&)>(true)) );
// Sanity check. // Sanity check.
VERIFY( (test_category<is_member_pointer, ClassType>(false)) ); VERIFY( (test_category<is_member_pointer, ClassType>(false)) );
......
...@@ -36,8 +36,7 @@ void test01() ...@@ -36,8 +36,7 @@ void test01()
VERIFY( (test_category<is_scalar, int*>(true)) ); VERIFY( (test_category<is_scalar, int*>(true)) );
VERIFY( (test_category<is_scalar, int(*)(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::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<is_scalar, int (ClassType::*) (int)>(true)) );
// VERIFY( (test_category<is_scalar, int (ClassType::*) (int)>(true)) );
// Sanity check. // Sanity check.
VERIFY( (test_category<is_scalar, ClassType>(false)) ); VERIFY( (test_category<is_scalar, ClassType>(false)) );
......
...@@ -43,8 +43,7 @@ void test01() ...@@ -43,8 +43,7 @@ void test01()
VERIFY( (test_category<is_enum, float&>(false)) ); VERIFY( (test_category<is_enum, float&>(false)) );
VERIFY( (test_category<is_enum, float(&)(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::*)>(false)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<is_enum, int (ClassType::*) (int)>(false)) );
// VERIFY( (test_category<is_enum, int (ClassType::*) (int)>(false)) );
VERIFY( (test_category<is_enum, int (int)>(false)) ); VERIFY( (test_category<is_enum, int (int)>(false)) );
VERIFY( (test_category<is_enum, ConvType>(false)) ); VERIFY( (test_category<is_enum, ConvType>(false)) );
......
...@@ -31,17 +31,16 @@ void test01() ...@@ -31,17 +31,16 @@ void test01()
using namespace __gnu_test; using namespace __gnu_test;
// Positive tests. // Positive tests.
VERIFY( (test_category<is_member_function_pointer,
// Temporarily disabled because of c++/19076 :-( int (ClassType::*) (int)>(true)) );
VERIFY( (test_category<is_member_function_pointer,
//VERIFY( (test_category<is_member_function_pointer, int (ClassType::*) (int) const>(true)) );
// int (ClassType::*) (int)>(true)) ); VERIFY( (test_category<is_member_function_pointer,
//VERIFY( (test_category<is_member_function_pointer, int (ClassType::*) (float, ...)>(true)) );
// int (ClassType::*) (int) const>(true)) ); VERIFY( (test_category<is_member_function_pointer,
//VERIFY( (test_category<is_member_function_pointer, ClassType (ClassType::*) (ClassType)>(true)) );
// ClassType (ClassType::*) (ClassType)>(true)) ); VERIFY( (test_category<is_member_function_pointer,
//VERIFY( (test_category<is_member_function_pointer, float (ClassType::*) (int, float, int[], int&)>(true)) );
// float (ClassType::*) (int, float, int[], int&)>(true)) );
// Negative tests. // Negative tests.
VERIFY( (test_category<is_member_function_pointer, VERIFY( (test_category<is_member_function_pointer,
......
...@@ -44,6 +44,8 @@ void test01() ...@@ -44,6 +44,8 @@ void test01()
VERIFY( (test_category<is_member_object_pointer, VERIFY( (test_category<is_member_object_pointer,
int (ClassType::*) (int) const>(false)) ); int (ClassType::*) (int) const>(false)) );
VERIFY( (test_category<is_member_object_pointer, VERIFY( (test_category<is_member_object_pointer,
int (ClassType::*) (float, ...)>(false)) );
VERIFY( (test_category<is_member_object_pointer,
ClassType (ClassType::*) (ClassType)>(false)) ); ClassType (ClassType::*) (ClassType)>(false)) );
VERIFY( (test_category<is_member_object_pointer, VERIFY( (test_category<is_member_object_pointer,
float (ClassType::*) (int, float, int[], int&)>(false)) ); float (ClassType::*) (int, float, int[], int&)>(false)) );
......
...@@ -37,9 +37,8 @@ void test01() ...@@ -37,9 +37,8 @@ void test01()
VERIFY( (test_assign_property<has_nothrow_assign, int*>(true)) ); VERIFY( (test_assign_property<has_nothrow_assign, int*>(true)) );
VERIFY( (test_assign_property<has_nothrow_assign, int(*)(int)>(true)) ); VERIFY( (test_assign_property<has_nothrow_assign, int(*)(int)>(true)) );
VERIFY( (test_assign_property<has_nothrow_assign, int (ClassType::*)>(true)) ); VERIFY( (test_assign_property<has_nothrow_assign, int (ClassType::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_assign_property<has_nothrow_assign,
// VERIFY( (test_assign_property<has_nothrow_assign, int (ClassType::*) (int)>(true)) );
// int (ClassType::*) (int)>(true)) );
VERIFY( (test_assign_property<has_nothrow_assign, int[2]>(true)) ); VERIFY( (test_assign_property<has_nothrow_assign, int[2]>(true)) );
VERIFY( (test_assign_property<has_nothrow_assign, float[][3]>(true)) ); VERIFY( (test_assign_property<has_nothrow_assign, float[][3]>(true)) );
VERIFY( (test_assign_property<has_nothrow_assign, EnumType[2][3][4]>(true)) ); VERIFY( (test_assign_property<has_nothrow_assign, EnumType[2][3][4]>(true)) );
...@@ -47,9 +46,8 @@ void test01() ...@@ -47,9 +46,8 @@ void test01()
VERIFY( (test_assign_property<has_nothrow_assign, int(*[][2])(int)>(true)) ); VERIFY( (test_assign_property<has_nothrow_assign, int(*[][2])(int)>(true)) );
VERIFY( (test_assign_property<has_nothrow_assign, VERIFY( (test_assign_property<has_nothrow_assign,
int (ClassType::*[2][3])>(true)) ); int (ClassType::*[2][3])>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_assign_property<has_nothrow_assign,
// VERIFY( (test_assign_property<has_nothrow_assign, int (ClassType::*[][2][3]) (int)>(true)) );
// int (ClassType::*[][2][3]) (int)>(true)) );
} }
int main() int main()
......
...@@ -37,9 +37,8 @@ void test01() ...@@ -37,9 +37,8 @@ void test01()
VERIFY( (test_category<has_nothrow_constructor, int*>(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(*)(int)>(true)) );
VERIFY( (test_category<has_nothrow_constructor, int (ClassType::*)>(true)) ); VERIFY( (test_category<has_nothrow_constructor, int (ClassType::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<has_nothrow_constructor,
// VERIFY( (test_category<has_nothrow_constructor, int (ClassType::*) (int)>(true)) );
// int (ClassType::*) (int)>(true)) );
VERIFY( (test_category<has_nothrow_constructor, int[2]>(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, float[][3]>(true)) );
VERIFY( (test_category<has_nothrow_constructor, EnumType[2][3][4]>(true)) ); VERIFY( (test_category<has_nothrow_constructor, EnumType[2][3][4]>(true)) );
...@@ -47,9 +46,8 @@ void test01() ...@@ -47,9 +46,8 @@ void test01()
VERIFY( (test_category<has_nothrow_constructor, int(*[][2])(int)>(true)) ); VERIFY( (test_category<has_nothrow_constructor, int(*[][2])(int)>(true)) );
VERIFY( (test_category<has_nothrow_constructor, VERIFY( (test_category<has_nothrow_constructor,
int (ClassType::*[2][3])>(true)) ); int (ClassType::*[2][3])>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<has_nothrow_constructor,
// VERIFY( (test_category<has_nothrow_constructor, int (ClassType::*[][2][3]) (int)>(true)) );
// int (ClassType::*[][2][3]) (int)>(true)) );
// Sanity check. // Sanity check.
VERIFY( (test_category<has_nothrow_constructor, ClassType>(false)) ); VERIFY( (test_category<has_nothrow_constructor, ClassType>(false)) );
......
...@@ -37,9 +37,8 @@ void test01() ...@@ -37,9 +37,8 @@ void test01()
VERIFY( (test_copy_property<has_nothrow_copy, int*>(true)) ); VERIFY( (test_copy_property<has_nothrow_copy, int*>(true)) );
VERIFY( (test_copy_property<has_nothrow_copy, int(*)(int)>(true)) ); VERIFY( (test_copy_property<has_nothrow_copy, int(*)(int)>(true)) );
VERIFY( (test_copy_property<has_nothrow_copy, int (ClassType::*)>(true)) ); VERIFY( (test_copy_property<has_nothrow_copy, int (ClassType::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_copy_property<has_nothrow_copy,
// VERIFY( (test_copy_property<has_nothrow_copy, int (ClassType::*) (int)>(true)) );
// int (ClassType::*) (int)>(true)) );
VERIFY( (test_copy_property<has_nothrow_copy, int[2]>(true)) ); VERIFY( (test_copy_property<has_nothrow_copy, int[2]>(true)) );
VERIFY( (test_copy_property<has_nothrow_copy, float[][3]>(true)) ); VERIFY( (test_copy_property<has_nothrow_copy, float[][3]>(true)) );
VERIFY( (test_copy_property<has_nothrow_copy, EnumType[2][3][4]>(true)) ); VERIFY( (test_copy_property<has_nothrow_copy, EnumType[2][3][4]>(true)) );
...@@ -47,9 +46,8 @@ void test01() ...@@ -47,9 +46,8 @@ void test01()
VERIFY( (test_copy_property<has_nothrow_copy, int(*[][2])(int)>(true)) ); VERIFY( (test_copy_property<has_nothrow_copy, int(*[][2])(int)>(true)) );
VERIFY( (test_copy_property<has_nothrow_copy, VERIFY( (test_copy_property<has_nothrow_copy,
int (ClassType::*[2][3])>(true)) ); int (ClassType::*[2][3])>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_copy_property<has_nothrow_copy,
// VERIFY( (test_copy_property<has_nothrow_copy, int (ClassType::*[][2][3]) (int)>(true)) );
// int (ClassType::*[][2][3]) (int)>(true)) );
} }
int main() int main()
......
...@@ -37,9 +37,8 @@ void test01() ...@@ -37,9 +37,8 @@ void test01()
VERIFY( (test_assign_property<has_trivial_assign, int*>(true)) ); VERIFY( (test_assign_property<has_trivial_assign, int*>(true)) );
VERIFY( (test_assign_property<has_trivial_assign, int(*)(int)>(true)) ); VERIFY( (test_assign_property<has_trivial_assign, int(*)(int)>(true)) );
VERIFY( (test_assign_property<has_trivial_assign, int (ClassType::*)>(true)) ); VERIFY( (test_assign_property<has_trivial_assign, int (ClassType::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_assign_property<has_trivial_assign,
// VERIFY( (test_assign_property<has_trivial_assign, int (ClassType::*) (int)>(true)) );
// int (ClassType::*) (int)>(true)) );
VERIFY( (test_assign_property<has_trivial_assign, int[2]>(true)) ); VERIFY( (test_assign_property<has_trivial_assign, int[2]>(true)) );
VERIFY( (test_assign_property<has_trivial_assign, float[][3]>(true)) ); VERIFY( (test_assign_property<has_trivial_assign, float[][3]>(true)) );
VERIFY( (test_assign_property<has_trivial_assign, EnumType[2][3][4]>(true)) ); VERIFY( (test_assign_property<has_trivial_assign, EnumType[2][3][4]>(true)) );
...@@ -47,9 +46,8 @@ void test01() ...@@ -47,9 +46,8 @@ void test01()
VERIFY( (test_assign_property<has_trivial_assign, int(*[][2])(int)>(true)) ); VERIFY( (test_assign_property<has_trivial_assign, int(*[][2])(int)>(true)) );
VERIFY( (test_assign_property<has_trivial_assign, VERIFY( (test_assign_property<has_trivial_assign,
int (ClassType::*[2][3])>(true)) ); int (ClassType::*[2][3])>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_assign_property<has_trivial_assign,
// VERIFY( (test_assign_property<has_trivial_assign, int (ClassType::*[][2][3]) (int)>(true)) );
// int (ClassType::*[][2][3]) (int)>(true)) );
} }
int main() int main()
......
...@@ -37,9 +37,8 @@ void test01() ...@@ -37,9 +37,8 @@ void test01()
VERIFY( (test_category<has_trivial_constructor, int*>(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(*)(int)>(true)) );
VERIFY( (test_category<has_trivial_constructor, int (ClassType::*)>(true)) ); VERIFY( (test_category<has_trivial_constructor, int (ClassType::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<has_trivial_constructor,
// VERIFY( (test_category<has_trivial_constructor, int (ClassType::*) (int)>(true)) );
// int (ClassType::*) (int)>(true)) );
VERIFY( (test_category<has_trivial_constructor, int[2]>(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, float[][3]>(true)) );
VERIFY( (test_category<has_trivial_constructor, EnumType[2][3][4]>(true)) ); VERIFY( (test_category<has_trivial_constructor, EnumType[2][3][4]>(true)) );
...@@ -47,9 +46,8 @@ void test01() ...@@ -47,9 +46,8 @@ void test01()
VERIFY( (test_category<has_trivial_constructor, int(*[][2])(int)>(true)) ); VERIFY( (test_category<has_trivial_constructor, int(*[][2])(int)>(true)) );
VERIFY( (test_category<has_trivial_constructor, VERIFY( (test_category<has_trivial_constructor,
int (ClassType::*[2][3])>(true)) ); int (ClassType::*[2][3])>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<has_trivial_constructor,
// VERIFY( (test_category<has_trivial_constructor, int (ClassType::*[][2][3]) (int)>(true)) );
// int (ClassType::*[][2][3]) (int)>(true)) );
// Sanity check. // Sanity check.
VERIFY( (test_category<has_trivial_constructor, ClassType>(false)) ); VERIFY( (test_category<has_trivial_constructor, ClassType>(false)) );
......
...@@ -37,9 +37,8 @@ void test01() ...@@ -37,9 +37,8 @@ void test01()
VERIFY( (test_copy_property<has_trivial_copy, int*>(true)) ); VERIFY( (test_copy_property<has_trivial_copy, int*>(true)) );
VERIFY( (test_copy_property<has_trivial_copy, int(*)(int)>(true)) ); VERIFY( (test_copy_property<has_trivial_copy, int(*)(int)>(true)) );
VERIFY( (test_copy_property<has_trivial_copy, int (ClassType::*)>(true)) ); VERIFY( (test_copy_property<has_trivial_copy, int (ClassType::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_copy_property<has_trivial_copy,
// VERIFY( (test_copy_property<has_trivial_copy, int (ClassType::*) (int)>(true)) );
// int (ClassType::*) (int)>(true)) );
VERIFY( (test_copy_property<has_trivial_copy, int[2]>(true)) ); VERIFY( (test_copy_property<has_trivial_copy, int[2]>(true)) );
VERIFY( (test_copy_property<has_trivial_copy, float[][3]>(true)) ); VERIFY( (test_copy_property<has_trivial_copy, float[][3]>(true)) );
VERIFY( (test_copy_property<has_trivial_copy, EnumType[2][3][4]>(true)) ); VERIFY( (test_copy_property<has_trivial_copy, EnumType[2][3][4]>(true)) );
...@@ -47,9 +46,8 @@ void test01() ...@@ -47,9 +46,8 @@ void test01()
VERIFY( (test_copy_property<has_trivial_copy, int(*[][2])(int)>(true)) ); VERIFY( (test_copy_property<has_trivial_copy, int(*[][2])(int)>(true)) );
VERIFY( (test_copy_property<has_trivial_copy, VERIFY( (test_copy_property<has_trivial_copy,
int (ClassType::*[2][3])>(true)) ); int (ClassType::*[2][3])>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_copy_property<has_trivial_copy,
// VERIFY( (test_copy_property<has_trivial_copy, int (ClassType::*[][2][3]) (int)>(true)) );
// int (ClassType::*[][2][3]) (int)>(true)) );
} }
int main() int main()
......
...@@ -37,9 +37,8 @@ void test01() ...@@ -37,9 +37,8 @@ void test01()
VERIFY( (test_category<has_trivial_destructor, int*>(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(*)(int)>(true)) );
VERIFY( (test_category<has_trivial_destructor, int (ClassType::*)>(true)) ); VERIFY( (test_category<has_trivial_destructor, int (ClassType::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<has_trivial_destructor,
// VERIFY( (test_category<has_trivial_destructor, int (ClassType::*) (int)>(true)) );
// int (ClassType::*) (int)>(true)) );
VERIFY( (test_category<has_trivial_destructor, int[2]>(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, float[][3]>(true)) );
VERIFY( (test_category<has_trivial_destructor, EnumType[2][3][4]>(true)) ); VERIFY( (test_category<has_trivial_destructor, EnumType[2][3][4]>(true)) );
...@@ -47,9 +46,8 @@ void test01() ...@@ -47,9 +46,8 @@ void test01()
VERIFY( (test_category<has_trivial_destructor, int(*[][2])(int)>(true)) ); VERIFY( (test_category<has_trivial_destructor, int(*[][2])(int)>(true)) );
VERIFY( (test_category<has_trivial_destructor, VERIFY( (test_category<has_trivial_destructor,
int (ClassType::*[2][3])>(true)) ); int (ClassType::*[2][3])>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<has_trivial_destructor,
// VERIFY( (test_category<has_trivial_destructor, int (ClassType::*[][2][3]) (int)>(true)) );
// int (ClassType::*[][2][3]) (int)>(true)) );
// Sanity check. // Sanity check.
VERIFY( (test_category<has_trivial_destructor, ClassType>(false)) ); VERIFY( (test_category<has_trivial_destructor, ClassType>(false)) );
......
...@@ -37,16 +37,14 @@ void test01() ...@@ -37,16 +37,14 @@ void test01()
VERIFY( (test_category<is_pod, int*>(true)) ); VERIFY( (test_category<is_pod, int*>(true)) );
VERIFY( (test_category<is_pod, int(*)(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::*)>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<is_pod, int (ClassType::*) (int)>(true)) );
// VERIFY( (test_category<is_pod, int (ClassType::*) (int)>(true)) );
VERIFY( (test_category<is_pod, int[2]>(true)) ); VERIFY( (test_category<is_pod, int[2]>(true)) );
VERIFY( (test_category<is_pod, float[][3]>(true)) ); VERIFY( (test_category<is_pod, float[][3]>(true)) );
VERIFY( (test_category<is_pod, EnumType[2][3][4]>(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*[3]>(true)) );
VERIFY( (test_category<is_pod, int(*[][2])(int)>(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])>(true)) );
// Temporarily disabled because of c++/19076 :-( VERIFY( (test_category<is_pod, int (ClassType::*[][2][3]) (int)>(true)) );
// VERIFY( (test_category<is_pod, int (ClassType::*[][2][3]) (int)>(true)) );
// Sanity check. // Sanity check.
VERIFY( (test_category<is_pod, ClassType>(false)) ); VERIFY( (test_category<is_pod, ClassType>(false)) );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment