diff options
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 43c69f3a08..6808f5ff9b 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -295,6 +295,9 @@ static Value *getVal(const Type *Ty, const ValID &D, vector<ValueList> *LateResolver = (CurMeth.CurrentMethod) ? &CurMeth.LateResolveValues : &CurModule.LateResolveValues; + if (isa<MethodType>(Ty)) + ThrowException("Methods are not values and must be referenced as pointers"); + if (const PointerType *PTy = dyn_cast<PointerType>(Ty)) if (const MethodType *MTy = dyn_cast<MethodType>(PTy->getValueType())) Ty = MTy; // Convert pointer to method to method type |