[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / Preprocessor / macro_expand_empty.c
blob550772888146ef6b8af4765f9c113c9024b9a9dc
1 // RUN: %clang_cc1 -E %s | FileCheck --strict-whitespace %s
3 // Check that this doesn't crash
5 #define IDENTITY1(x) x
6 #define IDENTITY2(x) IDENTITY1(x) IDENTITY1(x) IDENTITY1(x) IDENTITY1(x)
7 #define IDENTITY3(x) IDENTITY2(x) IDENTITY2(x) IDENTITY2(x) IDENTITY2(x)
8 #define IDENTITY4(x) IDENTITY3(x) IDENTITY3(x) IDENTITY3(x) IDENTITY3(x)
9 #define IDENTITY5(x) IDENTITY4(x) IDENTITY4(x) IDENTITY4(x) IDENTITY4(x)
10 #define IDENTITY6(x) IDENTITY5(x) IDENTITY5(x) IDENTITY5(x) IDENTITY5(x)
11 #define IDENTITY7(x) IDENTITY6(x) IDENTITY6(x) IDENTITY6(x) IDENTITY6(x)
12 #define IDENTITY8(x) IDENTITY7(x) IDENTITY7(x) IDENTITY7(x) IDENTITY7(x)
13 #define IDENTITY9(x) IDENTITY8(x) IDENTITY8(x) IDENTITY8(x) IDENTITY8(x)
14 #define IDENTITY0(x) IDENTITY9(x) IDENTITY9(x) IDENTITY9(x) IDENTITY9(x)
15 IDENTITY0()
17 #define FOO() BAR() second
18 #define BAR()
19 first // CHECK: {{^}}first{{$}}
20 FOO() // CHECK: {{^}} second{{$}}
21 third // CHECK: {{^}}third{{$}}