has_feature_type_traits.cpp revision 0191b6b638ee57cc1108f427fc93d57e75ef7222
1// RUN: %clang_cc1 -E %s -o - | FileCheck %s
2
3#if __has_feature(has_nothrow_assign)
4int has_nothrow_assign();
5#endif
6// CHECK: int has_nothrow_assign();
7
8#if __has_feature(has_nothrow_copy)
9int has_nothrow_copy();
10#endif
11// CHECK: int has_nothrow_copy();
12
13#if __has_feature(has_nothrow_constructor)
14int has_nothrow_constructor();
15#endif
16// CHECK: int has_nothrow_constructor();
17
18#if __has_feature(has_trivial_assign)
19int has_trivial_assign();
20#endif
21// CHECK: int has_trivial_assign();
22
23#if __has_feature(has_trivial_copy)
24int has_trivial_copy();
25#endif
26// CHECK: int has_trivial_copy();
27
28#if __has_feature(has_trivial_constructor)
29int has_trivial_constructor();
30#endif
31// CHECK: int has_trivial_constructor();
32
33#if __has_feature(has_trivial_destructor)
34int has_trivial_destructor();
35#endif
36// CHECK: int has_trivial_destructor();
37
38#if __has_feature(has_virtual_destructor)
39int has_virtual_destructor();
40#endif
41// CHECK: int has_virtual_destructor();
42
43#if __has_feature(is_abstract)
44int is_abstract();
45#endif
46// CHECK: int is_abstract();
47
48#if __has_feature(is_base_of)
49int is_base_of();
50#endif
51// CHECK: int is_base_of();
52
53#if __has_feature(is_class)
54int is_class();
55#endif
56// CHECK: int is_class();
57
58#if __has_feature(is_convertible_to)
59int is_convertible_to();
60#endif
61// CHECK: int is_convertible_to();
62
63#if __has_feature(is_empty)
64int is_empty();
65#endif
66// CHECK: int is_empty();
67
68#if __has_feature(is_enum)
69int is_enum();
70#endif
71// CHECK: int is_enum();
72
73#if __has_feature(is_pod)
74int is_pod();
75#endif
76// CHECK: int is_pod();
77
78#if __has_feature(is_polymorphic)
79int is_polymorphic();
80#endif
81// CHECK: int is_polymorphic();
82
83#if __has_feature(is_union)
84int is_union();
85#endif
86// CHECK: int is_union();
87
88#if __has_feature(is_literal)
89int is_literal();
90#endif
91// CHECK: int is_literal();
92
93#if __has_feature(is_standard_layout)
94int is_standard_layout();
95#endif
96// CHECK: int is_standard_layout();
97
98#if __has_feature(is_trivially_copyable)
99int is_trivially_copyable();
100#endif
101// CHECK: int is_trivially_copyable();
102
103#if __has_feature(underlying_type)
104int underlying_type();
105#endif
106