1 // RUN: %clang_cc1 -E -P %s -o - | FileCheck %s
6 // Test that macro expansion of the builtin argument works.
9 #define CF clang::fallthrough
11 #if __has_cpp_attribute(F)
14 // CHECK: int has_fallthrough;
16 #if __has_cpp_attribute(C::F)
17 int has_clang_fallthrough_1
;
19 // CHECK: int has_clang_fallthrough_1;
21 #if __has_cpp_attribute(clang::F)
22 int has_clang_fallthrough_2
;
24 // CHECK: int has_clang_fallthrough_2;
26 #if __has_cpp_attribute(C::fallthrough)
27 int has_clang_fallthrough_3
;
29 // CHECK: int has_clang_fallthrough_3;
31 #if __has_cpp_attribute(CF)
32 int has_clang_fallthrough_4
;
34 // CHECK: int has_clang_fallthrough_4;
36 #define FUNCLIKE1(x) clang::x
37 #if __has_cpp_attribute(FUNCLIKE1(fallthrough))
40 // CHECK: int funclike_1;
42 #define FUNCLIKE2(x) _Clang::x
43 #if __has_cpp_attribute(FUNCLIKE2(fallthrough))
46 // CHECK: int funclike_2;
47 } // namespace PR48462