blob: ac5d3b37c0b8bb8f2f8c1a9f10f73087904d8453 [file] [log] [blame]
John Thompson0bc443b2013-11-12 02:04:53 +00001// RUN: pp-trace -ignore FileChanged %s -undef -target x86_64 -std=c++11 | FileCheck --strict-whitespace %s
2
3#if 1
4#endif
5
6#if 0
7#endif
8
9#if 1
10#else
11#endif
12
13#if 0
14#else
15#endif
16
17#if 1
18#elif 1
19#endif
20#if 1
21#elif 0
22#endif
23
24#if 0
25#elif 1
26#endif
27#if 0
28#elif 0
29#endif
30#if 1
31#elif 1
32#endif
33#if 1
34#elif 0
35#endif
36
37#if 0
38#elif 1
39#else
40#endif
41#if 0
42#elif 0
43#else
44#endif
45#if 1
46#elif 1
47#else
48#endif
49#if 1
50#elif 0
51#else
52#endif
53
54#define MACRO 1
55#ifdef MACRO
56#endif
57#ifdef NO_MACRO
58#endif
59#ifndef MACRO
60#endif
61#ifndef NO_MACRO
62#endif
63
64// CHECK: ---
65// CHECK-NEXT: - Callback: MacroDefined
Richard Smithb6a55782016-09-30 23:47:58 +000066// CHECK: MacroNameTok: __STDC__
John Thompson0bc443b2013-11-12 02:04:53 +000067// CHECK-NEXT: MacroDirective: MD_Define
68// CHECK-NEXT: - Callback: MacroDefined
Richard Smithb6a55782016-09-30 23:47:58 +000069// CHECK: MacroNameTok: __STDC_HOSTED__
John Thompson0bc443b2013-11-12 02:04:53 +000070// CHECK-NEXT: MacroDirective: MD_Define
71// CHECK-NEXT: - Callback: MacroDefined
Richard Smithb6a55782016-09-30 23:47:58 +000072// CHECK: MacroNameTok: __cplusplus
John Thompson0bc443b2013-11-12 02:04:53 +000073// CHECK-NEXT: MacroDirective: MD_Define
74// CHECK-NEXT: - Callback: MacroDefined
Richard Smithb6a55782016-09-30 23:47:58 +000075// CHECK: MacroNameTok: __STDC_UTF_16__
John Thompson0bc443b2013-11-12 02:04:53 +000076// CHECK-NEXT: MacroDirective: MD_Define
77// CHECK-NEXT: - Callback: MacroDefined
Richard Smithb6a55782016-09-30 23:47:58 +000078// CHECK: MacroNameTok: __STDC_UTF_32__
John Thompson0bc443b2013-11-12 02:04:53 +000079// CHECK-NEXT: MacroDirective: MD_Define
Richard Smithb6a55782016-09-30 23:47:58 +000080// CHECK: - Callback: If
John Thompson0bc443b2013-11-12 02:04:53 +000081// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:2"
82// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:4:1"]
John Thompson87f9fef2013-12-07 08:41:15 +000083// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +000084// CHECK-NEXT: - Callback: Endif
85// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:4:2"
86// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:2"
87// CHECK-NEXT: - Callback: If
88// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:2"
89// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:7:1"]
John Thompson87f9fef2013-12-07 08:41:15 +000090// CHECK-NEXT: ConditionValue: CVK_False
John Thompson0bc443b2013-11-12 02:04:53 +000091// CHECK-NEXT: - Callback: Endif
92// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:7:2"
93// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:2"
94// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +000095// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:7:2"]
John Thompson0bc443b2013-11-12 02:04:53 +000096// CHECK-NEXT: - Callback: If
97// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:2"
98// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:10:1"]
John Thompson87f9fef2013-12-07 08:41:15 +000099// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +0000100// CHECK-NEXT: - Callback: Else
101// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:10:2"
102// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:2"
103// CHECK-NEXT: - Callback: Endif
104// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:11:2"
105// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:2"
106// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000107// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:10:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:11:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000108// CHECK-NEXT: - Callback: If
109// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:2"
110// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:14:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000111// CHECK-NEXT: ConditionValue: CVK_False
John Thompson0bc443b2013-11-12 02:04:53 +0000112// CHECK-NEXT: - Callback: Else
113// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:14:2"
114// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:2"
115// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000116// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:14:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000117// CHECK-NEXT: - Callback: Endif
118// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:15:2"
119// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:2"
120// CHECK-NEXT: - Callback: If
121// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:2"
122// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000123// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +0000124// CHECK-NEXT: - Callback: Elif
125// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:2"
126// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:19:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000127// CHECK-NEXT: ConditionValue: CVK_NotEvaluated
John Thompson0bc443b2013-11-12 02:04:53 +0000128// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:2"
129// CHECK-NEXT: - Callback: Endif
130// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:19:2"
131// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:2"
132// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000133// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:19:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000134// CHECK-NEXT: - Callback: If
135// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:2"
136// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000137// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +0000138// CHECK-NEXT: - Callback: Elif
139// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:2"
140// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:22:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000141// CHECK-NEXT: ConditionValue: CVK_NotEvaluated
John Thompson0bc443b2013-11-12 02:04:53 +0000142// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:2"
143// CHECK-NEXT: - Callback: Endif
144// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:22:2"
145// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:2"
146// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000147// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:22:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000148// CHECK-NEXT: - Callback: If
149// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:2"
150// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000151// CHECK-NEXT: ConditionValue: CVK_False
John Thompson0bc443b2013-11-12 02:04:53 +0000152// CHECK-NEXT: - Callback: Elif
153// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:2"
154// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:26:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000155// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +0000156// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:2"
157// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000158// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000159// CHECK-NEXT: - Callback: Endif
160// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:26:2"
161// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:2"
162// CHECK-NEXT: - Callback: If
163// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:2"
164// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:28:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000165// CHECK-NEXT: ConditionValue: CVK_False
John Thompson17c35732013-12-04 20:19:30 +0000166// CHECK-NEXT: - Callback: Elif
167// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:28:2"
168// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:28:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:29:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000169// CHECK-NEXT: ConditionValue: CVK_False
John Thompson17c35732013-12-04 20:19:30 +0000170// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:2"
John Thompson0bc443b2013-11-12 02:04:53 +0000171// CHECK-NEXT: - Callback: Endif
172// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:29:2"
173// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:2"
174// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000175// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:29:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000176// CHECK-NEXT: - Callback: If
177// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:2"
178// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000179// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +0000180// CHECK-NEXT: - Callback: Elif
181// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:2"
182// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:32:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000183// CHECK-NEXT: ConditionValue: CVK_NotEvaluated
John Thompson0bc443b2013-11-12 02:04:53 +0000184// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:2"
185// CHECK-NEXT: - Callback: Endif
186// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:32:2"
187// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:2"
188// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000189// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:32:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000190// CHECK-NEXT: - Callback: If
191// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:2"
192// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000193// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +0000194// CHECK-NEXT: - Callback: Elif
195// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:2"
196// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:35:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000197// CHECK-NEXT: ConditionValue: CVK_NotEvaluated
John Thompson0bc443b2013-11-12 02:04:53 +0000198// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:2"
199// CHECK-NEXT: - Callback: Endif
200// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:35:2"
201// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:2"
202// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000203// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:35:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000204// CHECK-NEXT: - Callback: If
205// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2"
206// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000207// CHECK-NEXT: ConditionValue: CVK_False
John Thompson0bc443b2013-11-12 02:04:53 +0000208// CHECK-NEXT: - Callback: Elif
209// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:2"
210// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:39:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000211// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +0000212// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2"
213// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000214// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000215// CHECK-NEXT: - Callback: Else
216// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:39:2"
217// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2"
218// CHECK-NEXT: - Callback: Endif
219// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:40:2"
220// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2"
221// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000222// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:39:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:40:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000223// CHECK-NEXT: - Callback: If
224// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2"
225// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:42:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000226// CHECK-NEXT: ConditionValue: CVK_False
John Thompson17c35732013-12-04 20:19:30 +0000227// CHECK-NEXT: - Callback: Elif
228// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:42:2"
229// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:42:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:43:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000230// CHECK-NEXT: ConditionValue: CVK_False
John Thompson17c35732013-12-04 20:19:30 +0000231// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2"
John Thompson0bc443b2013-11-12 02:04:53 +0000232// CHECK-NEXT: - Callback: Else
233// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:43:2"
234// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2"
235// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000236// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:43:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000237// CHECK-NEXT: - Callback: Endif
238// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:44:2"
239// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2"
240// CHECK-NEXT: - Callback: If
241// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:2"
242// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000243// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +0000244// CHECK-NEXT: - Callback: Elif
245// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:2"
246// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:47:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000247// CHECK-NEXT: ConditionValue: CVK_NotEvaluated
John Thompson0bc443b2013-11-12 02:04:53 +0000248// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:2"
249// CHECK-NEXT: - Callback: Endif
250// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:48:2"
251// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:2"
252// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000253// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:48:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000254// CHECK-NEXT: - Callback: If
255// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:2"
256// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:4", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000257// CHECK-NEXT: ConditionValue: CVK_True
John Thompson0bc443b2013-11-12 02:04:53 +0000258// CHECK-NEXT: - Callback: Elif
259// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:2"
260// CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:6", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:51:1"]
John Thompson87f9fef2013-12-07 08:41:15 +0000261// CHECK-NEXT: ConditionValue: CVK_NotEvaluated
John Thompson0bc443b2013-11-12 02:04:53 +0000262// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:2"
263// CHECK-NEXT: - Callback: Endif
264// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:52:2"
265// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:2"
266// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000267// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:52:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000268// CHECK-NEXT: - Callback: MacroDefined
269// CHECK-NEXT: MacroNameTok: MACRO
270// CHECK-NEXT: MacroDirective: MD_Define
271// CHECK-NEXT: - Callback: Ifdef
272// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:55:2"
273// CHECK-NEXT: MacroNameTok: MACRO
Richard Smith33de8562015-05-04 03:15:55 +0000274// CHECK-NEXT: MacroDefinition: [(local)]
John Thompson0bc443b2013-11-12 02:04:53 +0000275// CHECK-NEXT: - Callback: Endif
276// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:56:2"
277// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:55:2"
278// CHECK-NEXT: - Callback: Ifdef
279// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:57:2"
280// CHECK-NEXT: MacroNameTok: NO_MACRO
Richard Smith33de8562015-05-04 03:15:55 +0000281// CHECK-NEXT: MacroDefinition: []
John Thompson0bc443b2013-11-12 02:04:53 +0000282// CHECK-NEXT: - Callback: Endif
283// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:58:2"
284// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:57:2"
285// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000286// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:57:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:58:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000287// CHECK-NEXT: - Callback: Ifndef
288// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:59:2"
289// CHECK-NEXT: MacroNameTok: MACRO
Richard Smith33de8562015-05-04 03:15:55 +0000290// CHECK-NEXT: MacroDefinition: [(local)]
John Thompson0bc443b2013-11-12 02:04:53 +0000291// CHECK-NEXT: - Callback: Endif
292// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:60:2"
293// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:59:2"
294// CHECK-NEXT: - Callback: SourceRangeSkipped
Vedant Kumar5490afa2017-09-11 20:47:45 +0000295// CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:59:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:60:2"]
John Thompson0bc443b2013-11-12 02:04:53 +0000296// CHECK-NEXT: - Callback: Ifndef
297// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:61:2"
298// CHECK-NEXT: MacroNameTok: NO_MACRO
Richard Smith33de8562015-05-04 03:15:55 +0000299// CHECK-NEXT: MacroDefinition: []
John Thompson0bc443b2013-11-12 02:04:53 +0000300// CHECK-NEXT: - Callback: Endif
301// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:62:2"
302// CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:61:2"
303// CHECK-NEXT: - Callback: EndOfMainFile
304// CHECK-NEXT: ...