1 // RUN: %clang_cc1 -fsyntax-only -detailed-preprocessing-record %s
2 
3 // http://llvm.org/PR11120
4 
5 #define STRINGIZE(text) STRINGIZE_I(text)
6 #define STRINGIZE_I(text) #text
7 
8 #define INC pp-record.h
9 
10 #include STRINGIZE(INC)
11 
12 CAKE;
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 )
24 
25 #define M1 c
26 #define M2 int
27 #define FM2(x,y) y x
28 FM2(M1, M2);
29 
30 #define FM3(x) x
31 FM3(
32 #define M3 int x2
33 )
34 M3;
35