1 // RUN: pp-trace -callbacks '*,-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 66 // CHECK: MacroNameTok: __STDC__ 67 // CHECK-NEXT: MacroDirective: MD_Define 68 // CHECK-NEXT: - Callback: MacroDefined 69 // CHECK: MacroNameTok: __STDC_HOSTED__ 70 // CHECK-NEXT: MacroDirective: MD_Define 71 // CHECK-NEXT: - Callback: MacroDefined 72 // CHECK: MacroNameTok: __cplusplus 73 // CHECK-NEXT: MacroDirective: MD_Define 74 // CHECK-NEXT: - Callback: MacroDefined 75 // CHECK: MacroNameTok: __STDC_UTF_16__ 76 // CHECK-NEXT: MacroDirective: MD_Define 77 // CHECK-NEXT: - Callback: MacroDefined 78 // CHECK: MacroNameTok: __STDC_UTF_32__ 79 // CHECK-NEXT: MacroDirective: MD_Define 80 // CHECK: - Callback: If 81 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:2" 82 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:3:5"] 83 // CHECK-NEXT: ConditionValue: CVK_True 84 // 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:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:5"] 90 // CHECK-NEXT: ConditionValue: CVK_False 91 // 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 95 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:6:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:7:2"] 96 // CHECK-NEXT: - Callback: If 97 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:2" 98 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:9:5"] 99 // CHECK-NEXT: ConditionValue: CVK_True 100 // 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 107 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:10:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:11:2"] 108 // CHECK-NEXT: - Callback: If 109 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:2" 110 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:5"] 111 // CHECK-NEXT: ConditionValue: CVK_False 112 // 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 116 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:13:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:14:2"] 117 // 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:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:17:5"] 123 // CHECK-NEXT: ConditionValue: CVK_True 124 // CHECK-NEXT: - Callback: Elif 125 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:2" 126 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:8"] 127 // CHECK-NEXT: ConditionValue: CVK_NotEvaluated 128 // 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 133 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:18:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:19:2"] 134 // CHECK-NEXT: - Callback: If 135 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:2" 136 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:20:5"] 137 // CHECK-NEXT: ConditionValue: CVK_True 138 // CHECK-NEXT: - Callback: Elif 139 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:2" 140 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:8"] 141 // CHECK-NEXT: ConditionValue: CVK_NotEvaluated 142 // 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 147 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:21:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:22:2"] 148 // CHECK-NEXT: - Callback: If 149 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:2" 150 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:5"] 151 // CHECK-NEXT: ConditionValue: CVK_False 152 // CHECK-NEXT: - Callback: Elif 153 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:2" 154 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:7"] 155 // CHECK-NEXT: ConditionValue: CVK_True 156 // CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:2" 157 // CHECK-NEXT: - Callback: SourceRangeSkipped 158 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:24:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:25:2"] 159 // 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:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:5"] 165 // CHECK-NEXT: ConditionValue: CVK_False 166 // CHECK-NEXT: - Callback: Elif 167 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:28:2" 168 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:28:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:28:7"] 169 // CHECK-NEXT: ConditionValue: CVK_False 170 // CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:2" 171 // 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 175 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:27:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:29:2"] 176 // CHECK-NEXT: - Callback: If 177 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:2" 178 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:30:5"] 179 // CHECK-NEXT: ConditionValue: CVK_True 180 // CHECK-NEXT: - Callback: Elif 181 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:2" 182 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:8"] 183 // CHECK-NEXT: ConditionValue: CVK_NotEvaluated 184 // 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 189 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:31:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:32:2"] 190 // CHECK-NEXT: - Callback: If 191 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:2" 192 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:33:5"] 193 // CHECK-NEXT: ConditionValue: CVK_True 194 // CHECK-NEXT: - Callback: Elif 195 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:2" 196 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:8"] 197 // CHECK-NEXT: ConditionValue: CVK_NotEvaluated 198 // 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 203 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:34:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:35:2"] 204 // CHECK-NEXT: - Callback: If 205 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2" 206 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:5"] 207 // CHECK-NEXT: ConditionValue: CVK_False 208 // CHECK-NEXT: - Callback: Elif 209 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:2" 210 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:7"] 211 // CHECK-NEXT: ConditionValue: CVK_True 212 // CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:2" 213 // CHECK-NEXT: - Callback: SourceRangeSkipped 214 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:37:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:38:2"] 215 // 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 222 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:39:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:40:2"] 223 // CHECK-NEXT: - Callback: If 224 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2" 225 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:5"] 226 // CHECK-NEXT: ConditionValue: CVK_False 227 // CHECK-NEXT: - Callback: Elif 228 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:42:2" 229 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:42:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:42:7"] 230 // CHECK-NEXT: ConditionValue: CVK_False 231 // CHECK-NEXT: IfLoc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:2" 232 // 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 236 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:41:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:43:2"] 237 // 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:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:45:5"] 243 // CHECK-NEXT: ConditionValue: CVK_True 244 // CHECK-NEXT: - Callback: Elif 245 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:2" 246 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:8"] 247 // CHECK-NEXT: ConditionValue: CVK_NotEvaluated 248 // 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 253 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:46:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:48:2"] 254 // CHECK-NEXT: - Callback: If 255 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:2" 256 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:5", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:49:5"] 257 // CHECK-NEXT: ConditionValue: CVK_True 258 // CHECK-NEXT: - Callback: Elif 259 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:2" 260 // CHECK-NEXT: ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:7", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:8"] 261 // CHECK-NEXT: ConditionValue: CVK_NotEvaluated 262 // 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 267 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:50:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:52:2"] 268 // 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 274 // CHECK-NEXT: MacroDefinition: [(local)] 275 // 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 281 // CHECK-NEXT: MacroDefinition: [] 282 // 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 286 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:57:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:58:2"] 287 // CHECK-NEXT: - Callback: Ifndef 288 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:59:2" 289 // CHECK-NEXT: MacroNameTok: MACRO 290 // CHECK-NEXT: MacroDefinition: [(local)] 291 // 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 295 // CHECK-NEXT: Range: ["{{.*}}{{[/\\]}}pp-trace-conditional.cpp:59:1", "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:60:2"] 296 // CHECK-NEXT: - Callback: Ifndef 297 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-conditional.cpp:61:2" 298 // CHECK-NEXT: MacroNameTok: NO_MACRO 299 // CHECK-NEXT: MacroDefinition: [] 300 // 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: ... 305