Handle more error cases if the user tries to declare a method.

This commit is contained in:
Matt Pharr
2012-06-04 09:07:13 -07:00
parent 71198a0b54
commit 6118643232
2 changed files with 11 additions and 2 deletions

View File

@@ -1820,6 +1820,7 @@ StructType::StructType(const std::string &n, const llvm::SmallVector<const Type
else if (CastType<FunctionType>(type) != NULL) {
Error(elementPositions[i], "Method declarations are not "
"supported.");
return;
}
else
elementTypes.push_back(type->LLVMType(g->ctx));
@@ -2904,7 +2905,11 @@ FunctionType::LLVMFunctionType(llvm::LLVMContext *ctx, bool includeMask) const {
return NULL;
}
return llvm::FunctionType::get(returnType->LLVMType(g->ctx), callTypes, false);
llvm::Type *llvmReturnType = returnType->LLVMType(g->ctx);
if (llvmReturnType == NULL)
return NULL;
return llvm::FunctionType::get(llvmReturnType, callTypes, false);
}