| ... | ... | @@ -384,6 +384,11 @@ struct ZigDiagnosticHandler : public DiagnosticHandler { |
| 384 | 384 | bool BrokenDebugInfo; |
| 385 | 385 | ZigDiagnosticHandler() : BrokenDebugInfo(false) {} |
| 386 | 386 | bool handleDiagnostics(const DiagnosticInfo &DI) override { |
| 387 | // This dyn_cast should be casting to DiagnosticInfoIgnoringInvalidDebugMetadata |
| 388 | // but DiagnosticInfoIgnoringInvalidDebugMetadata is treated as DiagnosticInfoDebugMetadataVersion |
| 389 | // because of a bug in LLVM (see https://github.com/ziglang/zig/issues/19161). |
| 390 | // After this is fixed add an additional check for DiagnosticInfoIgnoringInvalidDebugMetadata |
| 391 | // but don't remove the current one as both indicate that debug info is broken. |
| 387 | 392 | if (auto *Remark = dyn_cast<DiagnosticInfoDebugMetadataVersion>(&DI)) { |
| 388 | 393 | BrokenDebugInfo = true; |
| 389 | 394 | } |