1*67e74705SXin Li // Header for PCH test cxx-traits.cpp 2*67e74705SXin Li 3*67e74705SXin Li namespace n { 4*67e74705SXin Li 5*67e74705SXin Li template<typename _Tp> 6*67e74705SXin Li struct __is_pod { // expected-warning {{keyword '__is_pod' will be made available as an identifier for the remainder of the translation unit}} 7*67e74705SXin Li enum { __value }; 8*67e74705SXin Li }; 9*67e74705SXin Li 10*67e74705SXin Li template<typename _Tp> 11*67e74705SXin Li struct __is_empty { // expected-warning {{keyword '__is_empty' will be made available as an identifier for the remainder of the translation unit}} 12*67e74705SXin Li enum { __value }; 13*67e74705SXin Li }; 14*67e74705SXin Li 15*67e74705SXin Li template<typename T, typename ...Args> 16*67e74705SXin Li struct is_trivially_constructible { 17*67e74705SXin Li static const bool value = __is_trivially_constructible(T, Args...); 18*67e74705SXin Li }; 19*67e74705SXin Li 20*67e74705SXin Li struct __is_abstract {}; // expected-warning {{made available}} 21*67e74705SXin Li struct __is_arithmetic {}; // expected-warning {{made available}} 22*67e74705SXin Li struct __is_array {}; // expected-warning {{made available}} 23*67e74705SXin Li struct __is_assignable {}; // expected-warning {{made available}} 24*67e74705SXin Li struct __is_base_of {}; // expected-warning {{made available}} 25*67e74705SXin Li struct __is_class {}; // expected-warning {{made available}} 26*67e74705SXin Li struct __is_complete_type {}; // expected-warning {{made available}} 27*67e74705SXin Li struct __is_compound {}; // expected-warning {{made available}} 28*67e74705SXin Li struct __is_const {}; // expected-warning {{made available}} 29*67e74705SXin Li struct __is_constructible {}; // expected-warning {{made available}} 30*67e74705SXin Li struct __is_convertible {}; // expected-warning {{made available}} 31*67e74705SXin Li struct __is_convertible_to {}; // expected-warning {{made available}} 32*67e74705SXin Li struct __is_destructible {}; // expected-warning {{made available}} 33*67e74705SXin Li struct __is_enum {}; // expected-warning {{made available}} 34*67e74705SXin Li struct __is_floating_point {}; // expected-warning {{made available}} 35*67e74705SXin Li struct __is_final {}; // expected-warning {{made available}} 36*67e74705SXin Li struct __is_function {}; // expected-warning {{made available}} 37*67e74705SXin Li struct __is_fundamental {}; // expected-warning {{made available}} 38*67e74705SXin Li struct __is_integral {}; // expected-warning {{made available}} 39*67e74705SXin Li struct __is_interface_class {}; // expected-warning {{made available}} 40*67e74705SXin Li struct __is_literal {}; // expected-warning {{made available}} 41*67e74705SXin Li struct __is_lvalue_expr {}; // expected-warning {{made available}} 42*67e74705SXin Li struct __is_lvalue_reference {}; // expected-warning {{made available}} 43*67e74705SXin Li struct __is_member_function_pointer {}; // expected-warning {{made available}} 44*67e74705SXin Li struct __is_member_object_pointer {}; // expected-warning {{made available}} 45*67e74705SXin Li struct __is_member_pointer {}; // expected-warning {{made available}} 46*67e74705SXin Li struct __is_nothrow_assignable {}; // expected-warning {{made available}} 47*67e74705SXin Li struct __is_nothrow_constructible {}; // expected-warning {{made available}} 48*67e74705SXin Li struct __is_nothrow_destructible {}; // expected-warning {{made available}} 49*67e74705SXin Li struct __is_object {}; // expected-warning {{made available}} 50*67e74705SXin Li struct __is_pointer {}; // expected-warning {{made available}} 51*67e74705SXin Li struct __is_polymorphic {}; // expected-warning {{made available}} 52*67e74705SXin Li struct __is_reference {}; // expected-warning {{made available}} 53*67e74705SXin Li struct __is_rvalue_expr {}; // expected-warning {{made available}} 54*67e74705SXin Li struct __is_rvalue_reference {}; // expected-warning {{made available}} 55*67e74705SXin Li struct __is_same {}; // expected-warning {{made available}} 56*67e74705SXin Li struct __is_scalar {}; // expected-warning {{made available}} 57*67e74705SXin Li struct __is_sealed {}; // expected-warning {{made available}} 58*67e74705SXin Li struct __is_signed {}; // expected-warning {{made available}} 59*67e74705SXin Li struct __is_standard_layout {}; // expected-warning {{made available}} 60*67e74705SXin Li struct __is_trivial {}; // expected-warning {{made available}} 61*67e74705SXin Li struct __is_trivially_assignable {}; // expected-warning {{made available}} 62*67e74705SXin Li struct __is_trivially_constructible {}; // expected-warning {{made available}} 63*67e74705SXin Li struct __is_trivially_copyable {}; // expected-warning {{made available}} 64*67e74705SXin Li struct __is_union {}; // expected-warning {{made available}} 65*67e74705SXin Li struct __is_unsigned {}; // expected-warning {{made available}} 66*67e74705SXin Li struct __is_void {}; // expected-warning {{made available}} 67*67e74705SXin Li struct __is_volatile {}; // expected-warning {{made available}} 68*67e74705SXin Li 69*67e74705SXin Li 70*67e74705SXin Li } 71