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