From 3c338f3a7e224f6da82e3adc1bbff9c0265d59e0 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Sat, 22 Aug 2015 22:36:40 +0000 Subject: Verifier: Don't crash on null entries in debug info retained types list There was already a good error path for this. Added a test for it & made a minor code change to ensure the error path was actually reached, rather than crashing before we got that far. llvm-svn: 245795 --- llvm/lib/IR/Verifier.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'llvm/lib/IR/Verifier.cpp') diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp index af1121e3c73..813d06cf643 100644 --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -3782,7 +3782,7 @@ void Verifier::verifyTypeRefs() { for (auto *CU : CUs->operands()) if (auto Ts = cast(CU)->getRetainedTypes()) for (DIType *Op : Ts) - if (auto *T = dyn_cast(Op)) + if (auto *T = dyn_cast_or_null(Op)) if (auto *S = T->getRawIdentifier()) { UnresolvedTypeRefs.erase(S); TypeRefs.insert(std::make_pair(S, T)); -- cgit v1.2.3