1646395bbcaa849c94bc2a3246c71d809ca719f01Argyrios Kyrtzidis// Header for PCH test cxx-traits.cpp 2646395bbcaa849c94bc2a3246c71d809ca719f01Argyrios Kyrtzidis 3176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesnamespace n { 4176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 5646395bbcaa849c94bc2a3246c71d809ca719f01Argyrios Kyrtzidistemplate<typename _Tp> 6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesstruct __is_pod { // expected-warning {{keyword '__is_pod' will be made available as an identifier for the remainder of the translation unit}} 7646395bbcaa849c94bc2a3246c71d809ca719f01Argyrios Kyrtzidis enum { __value }; 8646395bbcaa849c94bc2a3246c71d809ca719f01Argyrios Kyrtzidis}; 9646395bbcaa849c94bc2a3246c71d809ca719f01Argyrios Kyrtzidis 10646395bbcaa849c94bc2a3246c71d809ca719f01Argyrios Kyrtzidistemplate<typename _Tp> 11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesstruct __is_empty { // expected-warning {{keyword '__is_empty' will be made available as an identifier for the remainder of the translation unit}} 12646395bbcaa849c94bc2a3246c71d809ca719f01Argyrios Kyrtzidis enum { __value }; 13646395bbcaa849c94bc2a3246c71d809ca719f01Argyrios Kyrtzidis}; 144ca8ac2e61c37ddadf37024af86f3e1019af8532Douglas Gregor 154ca8ac2e61c37ddadf37024af86f3e1019af8532Douglas Gregortemplate<typename T, typename ...Args> 164ca8ac2e61c37ddadf37024af86f3e1019af8532Douglas Gregorstruct is_trivially_constructible { 174ca8ac2e61c37ddadf37024af86f3e1019af8532Douglas Gregor static const bool value = __is_trivially_constructible(T, Args...); 184ca8ac2e61c37ddadf37024af86f3e1019af8532Douglas Gregor}; 19176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 20176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_abstract {}; // expected-warning {{made available}} 21176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_arithmetic {}; // expected-warning {{made available}} 22176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_array {}; // expected-warning {{made available}} 234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarstruct __is_assignable {}; // expected-warning {{made available}} 24176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_base_of {}; // expected-warning {{made available}} 25176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_class {}; // expected-warning {{made available}} 26176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_complete_type {}; // expected-warning {{made available}} 27176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_compound {}; // expected-warning {{made available}} 28176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_const {}; // expected-warning {{made available}} 29176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_constructible {}; // expected-warning {{made available}} 30176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_convertible {}; // expected-warning {{made available}} 31176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_convertible_to {}; // expected-warning {{made available}} 32176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_destructible {}; // expected-warning {{made available}} 33176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_enum {}; // expected-warning {{made available}} 34176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_floating_point {}; // expected-warning {{made available}} 35176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_final {}; // expected-warning {{made available}} 36176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_function {}; // expected-warning {{made available}} 37176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_fundamental {}; // expected-warning {{made available}} 38176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_integral {}; // expected-warning {{made available}} 39176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_interface_class {}; // expected-warning {{made available}} 40176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_literal {}; // expected-warning {{made available}} 41176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_lvalue_expr {}; // expected-warning {{made available}} 42176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_lvalue_reference {}; // expected-warning {{made available}} 43176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_member_function_pointer {}; // expected-warning {{made available}} 44176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_member_object_pointer {}; // expected-warning {{made available}} 45176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_member_pointer {}; // expected-warning {{made available}} 46176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_nothrow_assignable {}; // expected-warning {{made available}} 47176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_nothrow_constructible {}; // expected-warning {{made available}} 48176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_nothrow_destructible {}; // expected-warning {{made available}} 49176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_object {}; // expected-warning {{made available}} 50176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_pointer {}; // expected-warning {{made available}} 51176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_polymorphic {}; // expected-warning {{made available}} 52176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_reference {}; // expected-warning {{made available}} 53176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_rvalue_expr {}; // expected-warning {{made available}} 54176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_rvalue_reference {}; // expected-warning {{made available}} 55176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_same {}; // expected-warning {{made available}} 56176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_scalar {}; // expected-warning {{made available}} 57176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_sealed {}; // expected-warning {{made available}} 58176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_signed {}; // expected-warning {{made available}} 59176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_standard_layout {}; // expected-warning {{made available}} 60176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_trivial {}; // expected-warning {{made available}} 61176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_trivially_assignable {}; // expected-warning {{made available}} 62176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_trivially_constructible {}; // expected-warning {{made available}} 63176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_trivially_copyable {}; // expected-warning {{made available}} 64176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_union {}; // expected-warning {{made available}} 65176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_unsigned {}; // expected-warning {{made available}} 66176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_void {}; // expected-warning {{made available}} 67176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hinesstruct __is_volatile {}; // expected-warning {{made available}} 68176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 69176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines 70176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines} 71