aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-03-16 18:10:36 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1995-03-16 18:10:36 -0500
commitde73f1713f2a3b1b37f797df15077510c22c8176 (patch)
treebf84e88885225bb2e9d35f01990ce49cfcd16544 /gcc
parentd3e0f18932563d067a7a35555d94313f1d675ce6 (diff)
downloadgcc-de73f1713f2a3b1b37f797df15077510c22c8176.zip
gcc-de73f1713f2a3b1b37f797df15077510c22c8176.tar.gz
gcc-de73f1713f2a3b1b37f797df15077510c22c8176.tar.bz2
(warn_if_unused_value, case SAVE_EXPR): New case.
(warn_if_unused_value, case NOP_EXPR): OK if CALL_EXPR inside. From-SVN: r9196
Diffstat (limited to 'gcc')
-rw-r--r--gcc/stmt.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index ab6ecad..086ca88 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -1710,6 +1710,9 @@ warn_if_unused_value (exp)
/* For a binding, warn if no side effect within it. */
return warn_if_unused_value (TREE_OPERAND (exp, 1));
+ case SAVE_EXPR:
+ return warn_if_unused_value (TREE_OPERAND (exp, 1));
+
case TRUTH_ORIF_EXPR:
case TRUTH_ANDIF_EXPR:
/* In && or ||, warn if 2nd operand has no side effect. */
@@ -1744,7 +1747,8 @@ warn_if_unused_value (exp)
while (TREE_CODE (tem) == CONVERT_EXPR || TREE_CODE (tem) == NOP_EXPR)
tem = TREE_OPERAND (tem, 0);
- if (TREE_CODE (tem) == MODIFY_EXPR || TREE_CODE (tem) == INIT_EXPR)
+ if (TREE_CODE (tem) == MODIFY_EXPR || TREE_CODE (tem) == INIT_EXPR
+ || TREE_CODE (tem) == CALL_EXPR)
return 0;
}
goto warn;