diff options
Diffstat (limited to 'lib/CodeGen/CGExpr.cpp')
-rw-r--r-- | lib/CodeGen/CGExpr.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp index e62bf2f3fc..9067787f32 100644 --- a/lib/CodeGen/CGExpr.cpp +++ b/lib/CodeGen/CGExpr.cpp @@ -1204,15 +1204,11 @@ RValue CodeGenFunction::EmitCallExpr(llvm::Value *Callee, QualType CalleeType, const Decl *TargetDecl) { // Get the actual function type. The callee type will always be a // pointer to function type or a block pointer type. - QualType ResultType; - if (const BlockPointerType *BPT = dyn_cast<BlockPointerType>(CalleeType)) { - ResultType = BPT->getPointeeType()->getAsFunctionType()->getResultType(); - } else { - assert(CalleeType->isFunctionPointerType() && - "Call must have function pointer type!"); - QualType FnType = CalleeType->getAsPointerType()->getPointeeType(); - ResultType = FnType->getAsFunctionType()->getResultType(); - } + assert(CalleeType->isFunctionPointerType() && + "Call must have function pointer type!"); + + QualType FnType = CalleeType->getAsPointerType()->getPointeeType(); + QualType ResultType = FnType->getAsFunctionType()->getResultType(); CallArgList Args; for (CallExpr::const_arg_iterator I = ArgBeg; I != ArgEnd; ++I) |