[llvm] r226588 - Add an assertion and prefer a crash over an infinite loop.
Adrian Prantl
aprantl at apple.com
Tue Jan 20 10:03:37 PST 2015
Author: adrian
Date: Tue Jan 20 12:03:37 2015
New Revision: 226588
URL: http://llvm.org/viewvc/llvm-project?rev=226588&view=rev
Log:
Add an assertion and prefer a crash over an infinite loop.
Modified:
llvm/trunk/lib/IR/DebugInfo.cpp
Modified: llvm/trunk/lib/IR/DebugInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DebugInfo.cpp?rev=226588&r1=226587&r2=226588&view=diff
==============================================================================
--- llvm/trunk/lib/IR/DebugInfo.cpp (original)
+++ llvm/trunk/lib/IR/DebugInfo.cpp Tue Jan 20 12:03:37 2015
@@ -527,12 +527,15 @@ bool DISubprogram::Verify() const {
while ((IA = DL.getInlinedAt()))
DL = DebugLoc::getFromDILocation(IA);
DL.getScopeAndInlinedAt(Scope, IA);
+ assert(Scope && "debug location has no scope");
assert(!IA);
while (!DIDescriptor(Scope).isSubprogram()) {
DILexicalBlockFile D(Scope);
Scope = D.isLexicalBlockFile()
? D.getScope()
: DebugLoc::getFromDILexicalBlock(Scope).getScope();
+ if (!Scope)
+ llvm_unreachable("lexical block file has no scope");
}
if (!DISubprogram(Scope).describes(F))
return false;
More information about the llvm-commits
mailing list