aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-08-14 23:45:09 +0000
committerRichard Stallman <rms@gnu.org>1992-08-14 23:45:09 +0000
commite2aab13d8a41cc85fbfd055fe0d4c4a2f803c6d5 (patch)
tree63df47991531570f8475f3113406b3c635ab49fa
parent390e01bf6cf8c2322a558ed62fd4c213c8cd6fc6 (diff)
downloadgcc-e2aab13d8a41cc85fbfd055fe0d4c4a2f803c6d5.zip
gcc-e2aab13d8a41cc85fbfd055fe0d4c4a2f803c6d5.tar.gz
gcc-e2aab13d8a41cc85fbfd055fe0d4c4a2f803c6d5.tar.bz2
(truthvalue_conversion): Optionally warn if an
unparenthesized assignment is used as a truth value. From-SVN: r1853
-rw-r--r--gcc/c-common.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 50aa60e..33804c4 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -901,6 +901,11 @@ truthvalue_conversion (expr)
fold (build1 (NOP_EXPR,
TREE_TYPE (TREE_OPERAND (expr, 0)),
TREE_OPERAND (expr, 1))), 1);
+
+ case MODIFY_EXPR:
+ if (warn_parentheses && C_EXP_ORIGINAL_CODE (expr) == MODIFY_EXPR)
+ warning ("suggest parentheses around assignment used as truth value");
+ break;
}
return build_binary_op (NE_EXPR, expr, integer_zero_node, 1);