From: David Majnemer Date: Fri, 5 Jul 2013 06:23:33 +0000 (+0000) Subject: Sema: Call IgnoreParens fewer times in CheckAddressOfOperand X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c77039e1b6b81a4ec448ef7b57c894fefaa8433a;p=clang Sema: Call IgnoreParens fewer times in CheckAddressOfOperand git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185684 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index a23e050762..40aeefbf97 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -8336,15 +8336,15 @@ static QualType CheckAddressOfOperand(Sema &S, ExprResult &OrigOp, SourceLocation OpLoc) { if (const BuiltinType *PTy = OrigOp.get()->getType()->getAsPlaceholderType()){ if (PTy->getKind() == BuiltinType::Overload) { - if (!isa(OrigOp.get()->IgnoreParens())) { - assert(cast(OrigOp.get()->IgnoreParens())->getOpcode() - == UO_AddrOf); + Expr *E = OrigOp.get()->IgnoreParens(); + if (!isa(E)) { + assert(cast(E)->getOpcode() == UO_AddrOf); S.Diag(OpLoc, diag::err_typecheck_invalid_lvalue_addrof_addrof_function) << OrigOp.get()->getSourceRange(); return QualType(); } - OverloadExpr *Ovl = cast(OrigOp.get()->IgnoreParens()); + OverloadExpr *Ovl = cast(E); if (isa(Ovl)) if (!S.ResolveSingleFunctionTemplateSpecialization(Ovl)) { S.Diag(OpLoc, diag::err_invalid_form_pointer_member_function)