[opaque pointer type] Serialize the type of an llvm::Function as a function type rather than a function pointer type

llvm-svn: 235200
This commit is contained in:
David Blaikie
2015-04-17 16:28:26 +00:00
parent c9c3d228d6
commit 561a157233
2 changed files with 4 additions and 5 deletions

View File

@@ -2935,10 +2935,9 @@ std::error_code BitcodeReader::ParseModule(bool Resume,
Type *Ty = getTypeByID(Record[0]);
if (!Ty)
return Error("Invalid record");
if (!Ty->isPointerTy())
return Error("Invalid type for value");
FunctionType *FTy =
dyn_cast<FunctionType>(cast<PointerType>(Ty)->getElementType());
if (auto *PTy = dyn_cast<PointerType>(Ty))
Ty = PTy->getElementType();
auto *FTy = dyn_cast<FunctionType>(Ty);
if (!FTy)
return Error("Invalid type for value");