diff options
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 020a83df49..697609a3fa 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -247,7 +247,8 @@ static const Type *getTypeVal(const ValID &D, bool DoNotImprovise = false) { static Value *lookupInSymbolTable(const Type *Ty, const string &Name) { SymbolTable *SymTab = - inFunctionScope() ? CurMeth.CurrentFunction->getSymbolTable() : 0; + inFunctionScope() ? CurMeth.CurrentFunction->getSymbolTable() : + CurModule.CurrentModule->getSymbolTable(); return SymTab ? SymTab->lookup(Ty, Name) : 0; } @@ -402,7 +403,7 @@ static void ResolveDefinitions(vector<ValueList> &LateResolvers, // resolver table InsertValue(V, *FutureLateResolvers); } else { - if (DID.Type == 1) + if (DID.Type == ValID::NameVal) ThrowException("Reference to an invalid definition: '" +DID.getName()+ "' of type '" + V->getType()->getDescription() + "'", getLineNumFromPlaceHolder(V)); |