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