1*10f69948SFangrui Song // RUN: pp-trace -callbacks '*,-FileChanged' %s -- -undef -target x86_64 -std=c++11 | FileCheck --strict-whitespace %s
20bc443b5SJohn Thompson 
30bc443b5SJohn Thompson #if 1
40bc443b5SJohn Thompson #endif
50bc443b5SJohn Thompson 
60bc443b5SJohn Thompson #if 0
70bc443b5SJohn Thompson #endif
80bc443b5SJohn Thompson 
90bc443b5SJohn Thompson #if 1
100bc443b5SJohn Thompson #else
110bc443b5SJohn Thompson #endif
120bc443b5SJohn Thompson 
130bc443b5SJohn Thompson #if 0
140bc443b5SJohn Thompson #else
150bc443b5SJohn Thompson #endif
160bc443b5SJohn Thompson 
170bc443b5SJohn Thompson #if 1
180bc443b5SJohn Thompson #elif 1
190bc443b5SJohn Thompson #endif
200bc443b5SJohn Thompson #if 1
210bc443b5SJohn Thompson #elif 0
220bc443b5SJohn Thompson #endif
230bc443b5SJohn Thompson 
240bc443b5SJohn Thompson #if 0
250bc443b5SJohn Thompson #elif 1
260bc443b5SJohn Thompson #endif
270bc443b5SJohn Thompson #if 0
280bc443b5SJohn Thompson #elif 0
290bc443b5SJohn Thompson #endif
300bc443b5SJohn Thompson #if 1
310bc443b5SJohn Thompson #elif 1
320bc443b5SJohn Thompson #endif
330bc443b5SJohn Thompson #if 1
340bc443b5SJohn Thompson #elif 0
350bc443b5SJohn Thompson #endif
360bc443b5SJohn Thompson 
370bc443b5SJohn Thompson #if 0
380bc443b5SJohn Thompson #elif 1
390bc443b5SJohn Thompson #else
400bc443b5SJohn Thompson #endif
410bc443b5SJohn Thompson #if 0
420bc443b5SJohn Thompson #elif 0
430bc443b5SJohn Thompson #else
440bc443b5SJohn Thompson #endif
450bc443b5SJohn Thompson #if 1
460bc443b5SJohn Thompson #elif 1
470bc443b5SJohn Thompson #else
480bc443b5SJohn Thompson #endif
490bc443b5SJohn Thompson #if 1
500bc443b5SJohn Thompson #elif 0
510bc443b5SJohn Thompson #else
520bc443b5SJohn Thompson #endif
530bc443b5SJohn Thompson 
540bc443b5SJohn Thompson #define MACRO 1
550bc443b5SJohn Thompson #ifdef MACRO
560bc443b5SJohn Thompson #endif
570bc443b5SJohn Thompson #ifdef NO_MACRO
580bc443b5SJohn Thompson #endif
590bc443b5SJohn Thompson #ifndef MACRO
600bc443b5SJohn Thompson #endif
610bc443b5SJohn Thompson #ifndef NO_MACRO
620bc443b5SJohn Thompson #endif
630bc443b5SJohn Thompson 
640bc443b5SJohn Thompson // CHECK: ---
650bc443b5SJohn Thompson // CHECK-NEXT: - Callback: MacroDefined
66b6a5578cSRichard Smith // CHECK:        MacroNameTok: __STDC__
670bc443b5SJohn Thompson // CHECK-NEXT:   MacroDirective: MD_Define
680bc443b5SJohn Thompson // CHECK-NEXT: - Callback: MacroDefined
69b6a5578cSRichard Smith // CHECK:        MacroNameTok: __STDC_HOSTED__
700bc443b5SJohn Thompson // CHECK-NEXT:   MacroDirective: MD_Define
710bc443b5SJohn Thompson // CHECK-NEXT: - Callback: MacroDefined
72b6a5578cSRichard Smith // CHECK:        MacroNameTok: __cplusplus
730bc443b5SJohn Thompson // CHECK-NEXT:   MacroDirective: MD_Define
740bc443b5SJohn Thompson // CHECK-NEXT: - Callback: MacroDefined
75b6a5578cSRichard Smith // CHECK:        MacroNameTok: __STDC_UTF_16__
760bc443b5SJohn Thompson // CHECK-NEXT:   MacroDirective: MD_Define
770bc443b5SJohn Thompson // CHECK-NEXT: - Callback: MacroDefined
78b6a5578cSRichard Smith // CHECK:        MacroNameTok: __STDC_UTF_32__
790bc443b5SJohn Thompson // CHECK-NEXT:   MacroDirective: MD_Define
80b6a5578cSRichard Smith // CHECK:      - Callback: If
810bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:2"
82b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:5"]
8387f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
840bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
850bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:4:2"
860bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:2"
870bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
880bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:2"
89b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:5"]
9087f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_False
910bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
920bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:7:2"
930bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:2"
940bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
955490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:7:2"]
960bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
970bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:2"
98b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:5"]
9987f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
1000bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Else
1010bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:10:2"
1020bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:2"
1030bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
1040bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:11:2"
1050bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:2"
1060bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
1075490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:10:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:11:2"]
1080bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
1090bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:2"
110b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:5"]
11187f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_False
1120bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Else
1130bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:14:2"
1140bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:2"
1150bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
1165490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:14:2"]
1170bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
1180bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:15:2"
1190bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:2"
1200bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
1210bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:2"
122b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:5"]
12387f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
1240bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Elif
1250bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:2"
126b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:8"]
12787f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_NotEvaluated
1280bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:2"
1290bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
1300bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:19:2"
1310bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:2"
1320bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
1335490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:19:2"]
1340bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
1350bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:2"
136b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:5"]
13787f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
1380bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Elif
1390bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:2"
140b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:8"]
14187f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_NotEvaluated
1420bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:2"
1430bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
1440bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:22:2"
1450bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:2"
1460bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
1475490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:22:2"]
1480bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
1490bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:2"
150b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:5"]
15187f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_False
1520bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Elif
1530bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:2"
154b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:7"]
15587f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
1560bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:2"
1570bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
1585490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:2"]
1590bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
1600bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:26:2"
1610bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:2"
1620bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
1630bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:2"
164b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:5"]
16587f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_False
16617c35734SJohn Thompson // CHECK-NEXT: - Callback: Elif
16717c35734SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:28:2"
168b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:28:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:28:7"]
16987f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_False
17017c35734SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:2"
1710bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
1720bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:29:2"
1730bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:2"
1740bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
1755490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:29:2"]
1760bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
1770bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:2"
178b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:5"]
17987f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
1800bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Elif
1810bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:2"
182b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:8"]
18387f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_NotEvaluated
1840bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:2"
1850bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
1860bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:32:2"
1870bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:2"
1880bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
1895490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:32:2"]
1900bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
1910bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:2"
192b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:5"]
19387f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
1940bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Elif
1950bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:2"
196b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:8"]
19787f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_NotEvaluated
1980bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:2"
1990bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
2000bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:35:2"
2010bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:2"
2020bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
2035490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:35:2"]
2040bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
2050bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2"
206b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:5"]
20787f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_False
2080bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Elif
2090bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:2"
210b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:7"]
21187f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
2120bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2"
2130bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
2145490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:2"]
2150bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Else
2160bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:39:2"
2170bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2"
2180bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
2190bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:40:2"
2200bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2"
2210bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
2225490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:39:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:40:2"]
2230bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
2240bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2"
225b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:5"]
22687f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_False
22717c35734SJohn Thompson // CHECK-NEXT: - Callback: Elif
22817c35734SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:42:2"
229b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:42:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:42:7"]
23087f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_False
23117c35734SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2"
2320bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Else
2330bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:43:2"
2340bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2"
2350bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
2365490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:43:2"]
2370bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
2380bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:44:2"
2390bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2"
2400bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
2410bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:2"
242b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:5"]
24387f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
2440bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Elif
2450bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:2"
246b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:8"]
24787f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_NotEvaluated
2480bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:2"
2490bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
2500bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:48:2"
2510bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:2"
2520bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
2535490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:48:2"]
2540bc443b5SJohn Thompson // CHECK-NEXT: - Callback: If
2550bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:2"
256b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:5"]
25787f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_True
2580bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Elif
2590bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:2"
260b95b6f42SAaron Ballman // CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:8"]
26187f9fef5SJohn Thompson // CHECK-NEXT:   ConditionValue: CVK_NotEvaluated
2620bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:2"
2630bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
2640bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:52:2"
2650bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:2"
2660bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
2675490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:52:2"]
2680bc443b5SJohn Thompson // CHECK-NEXT: - Callback: MacroDefined
2690bc443b5SJohn Thompson // CHECK-NEXT:   MacroNameTok: MACRO
2700bc443b5SJohn Thompson // CHECK-NEXT:   MacroDirective: MD_Define
2710bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Ifdef
2720bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:55:2"
2730bc443b5SJohn Thompson // CHECK-NEXT:   MacroNameTok: MACRO
27433de8566SRichard Smith // CHECK-NEXT:   MacroDefinition: [(local)]
2750bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
2760bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:56:2"
2770bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:55:2"
2780bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Ifdef
2790bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:57:2"
2800bc443b5SJohn Thompson // CHECK-NEXT:   MacroNameTok: NO_MACRO
28133de8566SRichard Smith // CHECK-NEXT:   MacroDefinition: []
2820bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
2830bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:58:2"
2840bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:57:2"
2850bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
2865490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:57:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:58:2"]
2870bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Ifndef
2880bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:59:2"
2890bc443b5SJohn Thompson // CHECK-NEXT:   MacroNameTok: MACRO
29033de8566SRichard Smith // CHECK-NEXT:   MacroDefinition: [(local)]
2910bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
2920bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:60:2"
2930bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:59:2"
2940bc443b5SJohn Thompson // CHECK-NEXT: - Callback: SourceRangeSkipped
2955490afa6SVedant Kumar // CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:59:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:60:2"]
2960bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Ifndef
2970bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:61:2"
2980bc443b5SJohn Thompson // CHECK-NEXT:   MacroNameTok: NO_MACRO
29933de8566SRichard Smith // CHECK-NEXT:   MacroDefinition: []
3000bc443b5SJohn Thompson // CHECK-NEXT: - Callback: Endif
3010bc443b5SJohn Thompson // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:62:2"
3020bc443b5SJohn Thompson // CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:61:2"
3030bc443b5SJohn Thompson // CHECK-NEXT: - Callback: EndOfMainFile
3040bc443b5SJohn Thompson // CHECK-NEXT: ...
305