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