1 | // RUN: %clang_cc1 %s -E | FileCheck %s |
---|---|
2 | |
3 | #define foo(x) bar x |
4 | foo(foo) (2) |
5 | // CHECK: bar foo (2) |
6 | |
7 | #define m(a) a(w) |
8 | #define w ABCD |
9 | m(m) |
10 | // CHECK: m(ABCD) |
11 | |
12 | |
13 | |
14 | // rdar://7466570 PR4438, PR5163 |
15 | |
16 | // We should get '42' in the argument list for gcc compatibility. |
17 | #define A 1 |
18 | #define B 2 |
19 | #define C(x) (x + 1) |
20 | |
21 | X: C( |
22 | #ifdef A |
23 | #if A == 1 |
24 | #if B |
25 | 42 |
26 | #endif |
27 | #endif |
28 | #endif |
29 | ) |
30 | // CHECK: X: (42 + 1) |
31 |