From c77039e1b6b81a4ec448ef7b57c894fefaa8433a Mon Sep 17 00:00:00 2001 From: David Majnemer <david.majnemer@gmail.com> Date: Fri, 5 Jul 2013 06:23:33 +0000 Subject: [PATCH] Sema: Call IgnoreParens fewer times in CheckAddressOfOperand git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185684 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/SemaExpr.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index a23e0507628..40aeefbf975 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<OverloadExpr>(OrigOp.get()->IgnoreParens())) { - assert(cast<UnaryOperator>(OrigOp.get()->IgnoreParens())->getOpcode() - == UO_AddrOf); + Expr *E = OrigOp.get()->IgnoreParens(); + if (!isa<OverloadExpr>(E)) { + assert(cast<UnaryOperator>(E)->getOpcode() == UO_AddrOf); S.Diag(OpLoc, diag::err_typecheck_invalid_lvalue_addrof_addrof_function) << OrigOp.get()->getSourceRange(); return QualType(); } - OverloadExpr *Ovl = cast<OverloadExpr>(OrigOp.get()->IgnoreParens()); + OverloadExpr *Ovl = cast<OverloadExpr>(E); if (isa<UnresolvedMemberExpr>(Ovl)) if (!S.ResolveSingleFunctionTemplateSpecialization(Ovl)) { S.Diag(OpLoc, diag::err_invalid_form_pointer_member_function) -- GitLab