From 5f6112450fa643bd3c930b83d6ac1acfa7dda429 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Sat, 24 Jul 2010 22:58:04 +0000 Subject: [PATCH] PR7704: A function is not allowed to return a function; make sure to enforce this consistently. llvm-svn: 109360 --- llvm/lib/VMCore/Type.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/lib/VMCore/Type.cpp b/llvm/lib/VMCore/Type.cpp index b0897b4ca4ae..0c9b0eaf5643 100644 --- a/llvm/lib/VMCore/Type.cpp +++ b/llvm/lib/VMCore/Type.cpp @@ -455,8 +455,8 @@ const PointerType *Type::getInt64PtrTy(LLVMContext &C, unsigned AS) { /// isValidReturnType - Return true if the specified type is valid as a return /// type. bool FunctionType::isValidReturnType(const Type *RetTy) { - return RetTy->getTypeID() != LabelTyID && - RetTy->getTypeID() != MetadataTyID; + return !RetTy->isFunctionTy() && !RetTy->isLabelTy() && + !RetTy->isMetadataTy(); } /// isValidArgumentType - Return true if the specified type is valid as an