1 | // RUN: pp-trace %s -- -undef -target x86_64 -std=c++11 | FileCheck --strict-whitespace %s |
2 | |
3 | #include "Inputs/Level1A.h" |
4 | #include "Inputs/Level1B.h" |
5 | |
6 | // CHECK: --- |
7 | // CHECK-NEXT: - Callback: FileChanged |
8 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:1:1" |
9 | // CHECK-NEXT: Reason: EnterFile |
10 | // CHECK-NEXT: FileType: C_User |
11 | // CHECK-NEXT: PrevFID: (invalid) |
12 | // CHECK-NEXT: - Callback: FileChanged |
13 | // CHECK-NEXT: Loc: "<built-in>:1:1" |
14 | // CHECK-NEXT: Reason: EnterFile |
15 | // CHECK-NEXT: FileType: C_User |
16 | // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}pp-trace-include.cpp" |
17 | // CHECK-NEXT: - Callback: FileChanged |
18 | // CHECK-NEXT: Loc: "<built-in>:1:1" |
19 | // CHECK-NEXT: Reason: RenameFile |
20 | // CHECK-NEXT: FileType: C_System |
21 | // CHECK-NEXT: PrevFID: (invalid) |
22 | // CHECK-NEXT: - Callback: MacroDefined |
23 | // CHECK: MacroNameTok: __STDC__ |
24 | // CHECK-NEXT: MacroDirective: MD_Define |
25 | // CHECK-NEXT: - Callback: MacroDefined |
26 | // CHECK: MacroNameTok: __STDC_HOSTED__ |
27 | // CHECK-NEXT: MacroDirective: MD_Define |
28 | // CHECK-NEXT: - Callback: MacroDefined |
29 | // CHECK: MacroNameTok: __cplusplus |
30 | // CHECK-NEXT: MacroDirective: MD_Define |
31 | // CHECK-NEXT: - Callback: MacroDefined |
32 | // CHECK: MacroNameTok: __STDC_UTF_16__ |
33 | // CHECK-NEXT: MacroDirective: MD_Define |
34 | // CHECK-NEXT: - Callback: MacroDefined |
35 | // CHECK: MacroNameTok: __STDC_UTF_32__ |
36 | // CHECK-NEXT: MacroDirective: MD_Define |
37 | // CHECK: - Callback: FileChanged |
38 | // CHECK-NEXT: Loc: "<command line>:1:1" |
39 | // CHECK-NEXT: Reason: EnterFile |
40 | // CHECK-NEXT: FileType: C_User |
41 | // CHECK-NEXT: PrevFID: (invalid) |
42 | // CHECK: - Callback: MacroDefined |
43 | // CHECK: - Callback: FileChanged |
44 | // CHECK-NEXT: Loc: "<built-in>:1:1" |
45 | // CHECK-NEXT: Reason: ExitFile |
46 | // CHECK-NEXT: FileType: C_User |
47 | // CHECK-NEXT: PrevFID: (invalid) |
48 | // CHECK-NEXT: - Callback: FileChanged |
49 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:1:1" |
50 | // CHECK-NEXT: Reason: ExitFile |
51 | // CHECK-NEXT: FileType: C_User |
52 | // CHECK-NEXT: PrevFID: (getFileEntryForID failed) |
53 | // CHECK-NEXT: - Callback: InclusionDirective |
54 | // CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:3:1" |
55 | // CHECK-NEXT: IncludeTok: include |
56 | // CHECK-NEXT: FileName: "Inputs/Level1A.h" |
57 | // CHECK-NEXT: IsAngled: false |
58 | // CHECK-NEXT: FilenameRange: "Inputs/Level1A.h" |
59 | // CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level1A.h" |
60 | // CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}pp-trace" |
61 | // CHECK-NEXT: RelativePath: "Inputs/Level1A.h" |
62 | // CHECK-NEXT: SuggestedModule: (null) |
63 | // CHECK-NEXT: ModuleImported: false |
64 | // CHECK-NEXT: - Callback: FileChanged |
65 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1A.h:1:1" |
66 | // CHECK-NEXT: Reason: EnterFile |
67 | // CHECK-NEXT: FileType: C_User |
68 | // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}pp-trace-include.cpp" |
69 | // CHECK-NEXT: - Callback: InclusionDirective |
70 | // CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}Inputs/Level1A.h:1:1" |
71 | // CHECK-NEXT: IncludeTok: include |
72 | // CHECK-NEXT: FileName: "Level2A.h" |
73 | // CHECK-NEXT: IsAngled: false |
74 | // CHECK-NEXT: FilenameRange: "Level2A.h" |
75 | // CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level2A.h" |
76 | // CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}Inputs" |
77 | // CHECK-NEXT: RelativePath: "Level2A.h" |
78 | // CHECK-NEXT: SuggestedModule: (null) |
79 | // CHECK-NEXT: ModuleImported: false |
80 | // CHECK-NEXT: - Callback: FileChanged |
81 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level2A.h:1:1" |
82 | // CHECK-NEXT: Reason: EnterFile |
83 | // CHECK-NEXT: FileType: C_User |
84 | // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1A.h" |
85 | // CHECK-NEXT: - Callback: MacroDefined |
86 | // CHECK-NEXT: MacroNameTok: MACRO_2A |
87 | // CHECK-NEXT: MacroDirective: MD_Define |
88 | // CHECK-NEXT: - Callback: FileChanged |
89 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1A.h:2:1" |
90 | // CHECK-NEXT: Reason: ExitFile |
91 | // CHECK-NEXT: FileType: C_User |
92 | // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level2A.h" |
93 | // CHECK-NEXT: - Callback: MacroDefined |
94 | // CHECK-NEXT: MacroNameTok: MACRO_1A |
95 | // CHECK-NEXT: MacroDirective: MD_Define |
96 | // CHECK-NEXT: - Callback: FileChanged |
97 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:4:1" |
98 | // CHECK-NEXT: Reason: ExitFile |
99 | // CHECK-NEXT: FileType: C_User |
100 | // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1A.h" |
101 | // CHECK-NEXT: - Callback: InclusionDirective |
102 | // CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:4:1" |
103 | // CHECK-NEXT: IncludeTok: include |
104 | // CHECK-NEXT: FileName: "Inputs/Level1B.h" |
105 | // CHECK-NEXT: IsAngled: false |
106 | // CHECK-NEXT: FilenameRange: "Inputs/Level1B.h" |
107 | // CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level1B.h" |
108 | // CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}pp-trace" |
109 | // CHECK-NEXT: RelativePath: "Inputs/Level1B.h" |
110 | // CHECK-NEXT: SuggestedModule: (null) |
111 | // CHECK-NEXT: ModuleImported: false |
112 | // CHECK-NEXT: - Callback: FileChanged |
113 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1B.h:1:1" |
114 | // CHECK-NEXT: Reason: EnterFile |
115 | // CHECK-NEXT: FileType: C_User |
116 | // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}pp-trace-include.cpp" |
117 | // CHECK-NEXT: - Callback: InclusionDirective |
118 | // CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}Inputs/Level1B.h:1:1" |
119 | // CHECK-NEXT: IncludeTok: include |
120 | // CHECK-NEXT: FileName: "Level2B.h" |
121 | // CHECK-NEXT: IsAngled: false |
122 | // CHECK-NEXT: FilenameRange: "Level2B.h" |
123 | // CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level2B.h" |
124 | // CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}Inputs" |
125 | // CHECK-NEXT: RelativePath: "Level2B.h" |
126 | // CHECK-NEXT: SuggestedModule: (null) |
127 | // CHECK-NEXT: ModuleImported: false |
128 | // CHECK-NEXT: - Callback: FileChanged |
129 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level2B.h:1:1" |
130 | // CHECK-NEXT: Reason: EnterFile |
131 | // CHECK-NEXT: FileType: C_User |
132 | // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1B.h" |
133 | // CHECK-NEXT: - Callback: MacroDefined |
134 | // CHECK-NEXT: MacroNameTok: MACRO_2B |
135 | // CHECK-NEXT: MacroDirective: MD_Define |
136 | // CHECK-NEXT: - Callback: FileChanged |
137 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1B.h:2:1" |
138 | // CHECK-NEXT: Reason: ExitFile |
139 | // CHECK-NEXT: FileType: C_User |
140 | // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level2B.h" |
141 | // CHECK-NEXT: - Callback: MacroDefined |
142 | // CHECK-NEXT: MacroNameTok: MACRO_1B |
143 | // CHECK-NEXT: MacroDirective: MD_Define |
144 | // CHECK-NEXT: - Callback: FileChanged |
145 | // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:5:1" |
146 | // CHECK-NEXT: Reason: ExitFile |
147 | // CHECK-NEXT: FileType: C_User |
148 | // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1B.h" |
149 | // CHECK-NEXT: - Callback: EndOfMainFile |
150 | // CHECK-NEXT: ... |
151 | |