From: Argyrios Kyrtzidis Date: Wed, 17 Nov 2010 18:54:22 +0000 (+0000) Subject: Don't emit warn_logical_and_in_logical_or for macros. Fixes rdar://8678458 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d92ccaa76923cfa374d5d9a33e82f15412fa3daf;p=clang Don't emit warn_logical_and_in_logical_or for macros. Fixes rdar://8678458 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119537 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index 17563fe3e4..7a73ad633f 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -7393,7 +7393,7 @@ static void DiagnoseBinOpPrecedence(Sema &Self, BinaryOperatorKind Opc, // Warn about arg1 || arg2 && arg3, as GCC 4.3+ does. // We don't warn for 'assert(a || b && "bad")' since this is safe. - if (Opc == BO_LOr) { + if (Opc == BO_LOr && !OpLoc.isMacroID()/* Don't warn in macros. */) { DiagnoseLogicalAndInLogicalOrLHS(Self, OpLoc, lhs); DiagnoseLogicalAndInLogicalOrRHS(Self, OpLoc, rhs); }