From: Devang Patel Date: Tue, 10 Nov 2009 23:20:04 +0000 (+0000) Subject: Ignore variable if scope info is not available. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=fb0ee43438d674213490afbeeaccba8052287f31;p=oota-llvm.git Ignore variable if scope info is not available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86753 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 82b48acbbb8..2849723af3f 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -1453,7 +1453,8 @@ DIE *DwarfDebug::UpdateSubprogramScopeDIE(MDNode *SPNode) { DIGlobalVariable GV(N); if (GV.getContext().getNode() == SPNode) { DIE *ScopedGVDie = CreateGlobalVariableDIE(ModuleCU, GV); - SPDie->AddChild(ScopedGVDie); + if (ScopedGVDie) + SPDie->AddChild(ScopedGVDie); } } return SPDie; @@ -2076,7 +2077,9 @@ void DwarfDebug::CollectVariableInfo() { ConcreteScopes.lookup(ScopeLoc.getOrigLocation().getNode()); if (!Scope) Scope = DbgScopeMap.lookup(ScopeLoc.getScope().getNode()); - assert (Scope && "Unable to find variable scope!"); + // If variable scope is not found then skip this variable. + if (!Scope) + continue; DbgVariable *RegVar = new DbgVariable(DV, VP.first); Scope->AddVariable(RegVar);