From: Ted Kremenek Date: Wed, 2 Feb 2011 02:20:30 +0000 (+0000) Subject: Remove redundant check to not warn for warn_equality_with_extra_parens if we are... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f7275cd4b930e658930b8a319aa06c0168a4720a;p=clang Remove redundant check to not warn for warn_equality_with_extra_parens if we are in a macro. This is checked twice. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124714 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index c084bb0a80..ec5e3e0c3c 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -9244,17 +9244,12 @@ void Sema::DiagnoseEqualityWithExtraParens(ParenExpr *parenE) { == Expr::MLV_Valid) { SourceLocation Loc = opE->getOperatorLoc(); - // Don't emit a warning if the operation occurs within a macro. - // Sometimes extra parentheses are used within macros to make the - // instantiation of the macro less error prone. - if (!Loc.isMacroID()) { - Diag(Loc, diag::warn_equality_with_extra_parens) << E->getSourceRange(); - Diag(Loc, diag::note_equality_comparison_to_assign) - << FixItHint::CreateReplacement(Loc, "="); - Diag(Loc, diag::note_equality_comparison_silence) - << FixItHint::CreateRemoval(parenE->getSourceRange().getBegin()) - << FixItHint::CreateRemoval(parenE->getSourceRange().getEnd()); - } + Diag(Loc, diag::warn_equality_with_extra_parens) << E->getSourceRange(); + Diag(Loc, diag::note_equality_comparison_to_assign) + << FixItHint::CreateReplacement(Loc, "="); + Diag(Loc, diag::note_equality_comparison_silence) + << FixItHint::CreateRemoval(parenE->getSourceRange().getBegin()) + << FixItHint::CreateRemoval(parenE->getSourceRange().getEnd()); } } diff --git a/test/SemaCXX/warn-assignment-condition.cpp b/test/SemaCXX/warn-assignment-condition.cpp index ab9d2ad4a5..27eedb9128 100644 --- a/test/SemaCXX/warn-assignment-condition.cpp +++ b/test/SemaCXX/warn-assignment-condition.cpp @@ -125,12 +125,3 @@ void test2() { if ((test2 == fn)) {} } -// Do not warn about extra '()' used within a macro. This pattern -// occurs frequently. -#define COMPARE(x,y) (x == y) -int test3(int x, int y) { - if (COMPARE(x, y)) // no-warning - return 0; - return 1; -} -