OSDN Git Service

2004-02-29 Waldek Hebisch <hebisch@math.uni.wroc.pl>
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 Feb 2004 14:07:44 +0000 (14:07 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 Feb 2004 14:07:44 +0000 (14:07 +0000)
PR middle-end/14203
* function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
instead of testing whether DECL_RTL is not NULL.

2004-02-29  Roger Sayle  <roger@eyesopen.com>

PR middle-end/14203
* g++.dg/warn/Wunused-6.C: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78648 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/function.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/warn/Wunused-6.C [new file with mode: 0644]

index 56158b5..dae31a0 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-29  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
+
+       PR middle-end/14203
+       * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
+       instead of testing whether DECL_RTL is not NULL.
+
 2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/sh/sh.c: Fix formatting.
index 84f0e85..623f78c 100644 (file)
@@ -5702,7 +5702,7 @@ uninitialized_vars_warning (tree block)
             flow.c that the entire aggregate was initialized.
             Unions are troublesome because members may be shorter.  */
          && ! AGGREGATE_TYPE_P (TREE_TYPE (decl))
-         && DECL_RTL (decl) != 0
+         && DECL_RTL_SET_P (decl)
          && GET_CODE (DECL_RTL (decl)) == REG
          /* Global optimizations can make it difficult to determine if a
             particular variable has been initialized.  However, a VAR_DECL
@@ -5717,7 +5717,7 @@ uninitialized_vars_warning (tree block)
                 decl, decl);
       if (extra_warnings
          && TREE_CODE (decl) == VAR_DECL
-         && DECL_RTL (decl) != 0
+         && DECL_RTL_SET_P (decl)
          && GET_CODE (DECL_RTL (decl)) == REG
          && regno_clobbered_at_setjmp (REGNO (DECL_RTL (decl))))
        warning ("%Jvariable '%D' might be clobbered by `longjmp' or `vfork'",
index a5dd16b..1b768d0 100644 (file)
@@ -1,3 +1,8 @@
+2004-02-29  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/14203
+       * g++.dg/warn/Wunused-6.C: New test case.
+
 2004-02-28  Richard Earnshaw  <rearnsha@arm.com>
 
        * lib/g++.exp (g++_link_flags): Don't crash if LD_LIBRARY_PATH is
diff --git a/gcc/testsuite/g++.dg/warn/Wunused-6.C b/gcc/testsuite/g++.dg/warn/Wunused-6.C
new file mode 100644 (file)
index 0000000..58a3f64
--- /dev/null
@@ -0,0 +1,11 @@
+/* PR middle-end/14203 */
+/* { dg-do compile } */
+/* { dg-options "-Wall" } */
+
+void foo()
+{
+  if (false)
+    if (int i=0)  // { dg-warning "unused" "" }
+      int j=0;    // { dg-warning "unused" "" }
+}
+