From: Akira Hatanaka Date: Mon, 2 May 2016 22:29:40 +0000 (+0000) Subject: Remove unneeded test in tryCaptureAsConstant. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7b32af65f8a969097bc77a89e081d1b828b8bf22;p=clang Remove unneeded test in tryCaptureAsConstant. It isn't necessary to call hasDefaultArg because we can't rematerialize a captured variable that is a function parameter, regardless of whether or not it has a default argument. NFC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268318 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGBlocks.cpp b/lib/CodeGen/CGBlocks.cpp index 88786bc9fc..d603d21bbe 100644 --- a/lib/CodeGen/CGBlocks.cpp +++ b/lib/CodeGen/CGBlocks.cpp @@ -262,10 +262,10 @@ static bool isSafeForCXXConstantCapture(QualType type) { static llvm::Constant *tryCaptureAsConstant(CodeGenModule &CGM, CodeGenFunction *CGF, const VarDecl *var) { - // Don't rematerialize default arguments of function parameters. - if (auto *PD = dyn_cast(var)) - if (PD->hasDefaultArg()) - return nullptr; + // Return if this is a function paramter. We shouldn't try to + // rematerialize default arguments of function parameters. + if (isa(var)) + return nullptr; QualType type = var->getType();