aboutsummaryrefslogtreecommitdiff
path: root/test/Lexer/has_feature_cxx0x.cpp
blob: 650e577ca72c83f5816d37976337916a6400c322 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
// RUN: %clang_cc1 -E -std=c++0x %s -o - | FileCheck --check-prefix=CHECK-0X %s
// RUN: %clang_cc1 -E %s -o - | FileCheck --check-prefix=CHECK-NO-0X %s

#if __has_feature(cxx_lambdas)
int lambdas();
#else
int no_lambdas();
#endif

// CHECK-0X: no_lambdas
// CHECK-NO-0X: no_lambdas


#if __has_feature(cxx_nullptr)
int has_nullptr();
#else
int no_nullptr();
#endif

// CHECK-0X: no_nullptr
// CHECK-NO-0X: no_nullptr


#if __has_feature(cxx_concepts)
int concepts();
#else
int no_concepts();
#endif

// CHECK-0X: no_concepts
// CHECK-NO-0X: no_concepts


#if __has_feature(cxx_decltype)
int has_decltype();
#else
int no_decltype();
#endif

// CHECK-0X: has_decltype
// CHECK-NO-0X: no_decltype


#if __has_feature(cxx_auto_type)
int auto_type();
#else
int no_auto_type();
#endif

// CHECK-0X: auto_type
// CHECK-NO-0X: no_auto_type


#if __has_feature(cxx_attributes)
int attributes();
#else
int no_attributes();
#endif

// CHECK-0X: attributes
// CHECK-NO-0X: no_attributes


#if __has_feature(cxx_static_assert)
int has_static_assert();
#else
int no_static_assert();
#endif

// CHECK-0X: has_static_assert
// CHECK-NO-0X: no_static_assert


#if __has_feature(cxx_deleted_functions)
int deleted_functions();
#else
int no_deleted_functions();
#endif

// CHECK-0X: deleted_functions
// CHECK-NO-0X: no_deleted_functions


#if __has_feature(cxx_rvalue_references)
int rvalue_references();
#else
int no_rvalue_references();
#endif

// CHECK-0X: no_rvalue_references
// CHECK-NO-0X: no_rvalue_references


#if __has_feature(cxx_variadic_templates)
int variadic_templates();
#else
int no_variadic_templates();
#endif

// CHECK-0X: no_variadic_templates
// CHECK-NO-0X: no_variadic_templates