aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDirk Mueller <dmueller@suse.de>2007-03-10 18:49:28 +0000
committerDirk Mueller <mueller@gcc.gnu.org>2007-03-10 18:49:28 +0000
commit89132ebc4c9e2bd960520dbbd8469d956794a7dd (patch)
tree8e1b6ac3759ac38c46f3b1f58ed8355eb1c0a871 /gcc
parent4cdffe3d10fe694b87a4bf6c7dd9cad501df9129 (diff)
downloadgcc-89132ebc4c9e2bd960520dbbd8469d956794a7dd.zip
gcc-89132ebc4c9e2bd960520dbbd8469d956794a7dd.tar.gz
gcc-89132ebc4c9e2bd960520dbbd8469d956794a7dd.tar.bz2
c-common.c (warn_logical_operator): Fix condition.
2007-03-10 Dirk Mueller <dmueller@suse.de> * c-common.c (warn_logical_operator): Fix condition. From-SVN: r122800
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/c-common.c32
2 files changed, 19 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 73a521d..82f2a5a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2007-03-10 Dirk Mueller <dmueller@suse.de>
+
+ * c-common.c (warn_logical_operator): Fix condition.
+
2007-03-10 Tobias Schlüter <tobi@gcc.gnu.org>
* config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 6216d5e..6543bd0 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;
}
}