Argyrios Kyrtzidis | 209dfbe | 2011-10-12 17:36:33 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -fsyntax-only -detailed-preprocessing-record %s |
| 2 | |
| 3 | // http://llvm.org/PR11120 |
| 4 | |
Argyrios Kyrtzidis | db81d38 | 2012-03-27 18:47:48 +0000 | [diff] [blame] | 5 | #define STRINGIZE(text) STRINGIZE_I(text) |
| 6 | #define STRINGIZE_I(text) #text |
Argyrios Kyrtzidis | 209dfbe | 2011-10-12 17:36:33 +0000 | [diff] [blame] | 7 | |
Argyrios Kyrtzidis | db81d38 | 2012-03-27 18:47:48 +0000 | [diff] [blame] | 8 | #define INC pp-record.h |
| 9 | |
| 10 | #include STRINGIZE(INC) |
| 11 | |
| 12 | CAKE; |
Argyrios Kyrtzidis | 66c44e7 | 2012-05-10 18:57:19 +0000 | [diff] [blame] | 13 | |
| 14 | #define DIR 1 |
| 15 | #define FNM(x) x |
| 16 | |
| 17 | FNM( |
| 18 | #if DIR |
| 19 | int a; |
| 20 | #else |
| 21 | int b; |
| 22 | #endif |
| 23 | ) |
Argyrios Kyrtzidis | d017e42 | 2013-01-09 23:22:20 +0000 | [diff] [blame] | 24 | |
| 25 | #define M1 c |
| 26 | #define M2 int |
| 27 | #define FM2(x,y) y x |
| 28 | FM2(M1, M2); |
Argyrios Kyrtzidis | 0b849d3 | 2013-02-22 18:35:59 +0000 | [diff] [blame] | 29 | |
| 30 | #define FM3(x) x |
| 31 | FM3( |
| 32 | #define M3 int x2 |
| 33 | ) |
| 34 | M3; |