diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 73a521df830..82f2a5a3b8f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2007-03-10 Dirk Mueller + + * c-common.c (warn_logical_operator): Fix condition. + 2007-03-10 Tobias Schlüter * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing diff --git a/gcc/c-common.c b/gcc/c-common.c index 6216d5e123a..6543bd0f1b7 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -994,24 +994,22 @@ warn_logical_operator (enum tree_code code, tree arg1, tree case TRUTH_ORIF_EXPR: case TRUTH_OR_EXPR: case TRUTH_AND_EXPR: - if (!TREE_NO_WARNING (arg1) - && INTEGRAL_TYPE_P (TREE_TYPE (arg1)) - && !CONSTANT_CLASS_P (arg1) - && TREE_CODE (arg2) == INTEGER_CST - && !integer_zerop (arg2) - && !integer_onep (arg2)) - { - warning (OPT_Wlogical_op, - "logical %<%s%> with non-zero constant " - "will always evaluate as true", - ((code == TRUTH_ANDIF_EXPR) - || (code == TRUTH_AND_EXPR)) ? "&&" : "||"); - TREE_NO_WARNING (arg1) = true; - } - - break; + if (!TREE_NO_WARNING (arg1) + && INTEGRAL_TYPE_P (TREE_TYPE (arg1)) + && !CONSTANT_CLASS_P (arg1) + && TREE_CODE (arg2) == INTEGER_CST + && !integer_zerop (arg2)) + { + warning (OPT_Wlogical_op, + "logical %<%s%> with non-zero constant " + "will always evaluate as true", + ((code == TRUTH_ANDIF_EXPR) + || (code == TRUTH_AND_EXPR)) ? "&&" : "||"); + TREE_NO_WARNING (arg1) = true; + } + break; default: - break; + break; } }