aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-02-21 21:23:48 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2002-02-21 21:23:48 +0100
commit7133e9921a9cfd599637a1d539b206b21e79545d (patch)
treeb43c83e9ddfdda467df3d0c0ff6814391dc66cee /gcc
parente2ec05a6c96065358c2afaafd2c62dc1f1a2db4d (diff)
downloadgcc-7133e9921a9cfd599637a1d539b206b21e79545d.zip
gcc-7133e9921a9cfd599637a1d539b206b21e79545d.tar.gz
gcc-7133e9921a9cfd599637a1d539b206b21e79545d.tar.bz2
re PR c/4697 (Warning 'value computed is not used' missing)
PR c/4697: * stmt.c (warn_if_unused_value): Move side effects test once more. * gcc.dg/20020220-2.c: New test. From-SVN: r49937
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/stmt.c12
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/20020220-2.c12
4 files changed, 27 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e64cbb9..7570480 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/4697:
+ * stmt.c (warn_if_unused_value): Move side effects test once more.
+
2002-02-20 Torbjorn Granlund <tege@swox.com>
* config/avr/avr.md: Add more patterns for mized-mode add and subtract
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 17b4d0b..fc968bc 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -2303,10 +2303,6 @@ warn_if_unused_value (exp)
if (VOID_TYPE_P (TREE_TYPE (exp)))
return 0;
- /* If this is an expression with side effects, don't warn. */
- if (TREE_SIDE_EFFECTS (exp))
- return 0;
-
switch (TREE_CODE (exp))
{
case PREINCREMENT_EXPR:
@@ -2366,7 +2362,7 @@ warn_if_unused_value (exp)
|| TREE_CODE (tem) == CALL_EXPR)
return 0;
}
- goto warn;
+ goto maybe_warn;
case INDIRECT_REF:
/* Don't warn about automatic dereferencing of references, since
@@ -2389,7 +2385,11 @@ warn_if_unused_value (exp)
&& TREE_CODE_LENGTH (TREE_CODE (exp)) == 0)
return 0;
- warn:
+ maybe_warn:
+ /* If this is an expression with side effects, don't warn. */
+ if (TREE_SIDE_EFFECTS (exp))
+ return 0;
+
warning_with_file_and_line (emit_filename, emit_lineno,
"value computed is not used");
return 1;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a665359..c837e20 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2002-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/20020220-2.c: New test.
+
2002-02-20 Alexandre Oliva <aoliva@redhat.com>
* gcc.c-torture/compile/20020110.c: New test.
diff --git a/gcc/testsuite/gcc.dg/20020220-2.c b/gcc/testsuite/gcc.dg/20020220-2.c
new file mode 100644
index 0000000..c6c57a9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20020220-2.c
@@ -0,0 +1,12 @@
+/* PR c/4697
+ Test whether value computed not used warning is given for compound
+ expression. */
+/* { dg-do compile } */
+/* { dg-options "-O2 -Wunused" } */
+
+int b;
+int foo (int a)
+{
+ a = a + 1, 5 * b; /* { dg-warning "value computed is not used" } */
+ return a;
+}