diff options
author | Roger Sayle <sayle@gcc.gnu.org> | 2004-02-29 14:07:44 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-02-29 14:07:44 +0000 |
commit | bc41842bb22e5682e8b808cb77e611d7cb6d8f64 (patch) | |
tree | 357716b9392e3994c718f459d97bc805a5894b34 /gcc | |
parent | 8b425082620f9718aa9ac08fe3145c44eb8cad94 (diff) | |
download | gcc-bc41842bb22e5682e8b808cb77e611d7cb6d8f64.zip gcc-bc41842bb22e5682e8b808cb77e611d7cb6d8f64.tar.gz gcc-bc41842bb22e5682e8b808cb77e611d7cb6d8f64.tar.bz2 |
[multiple changes]
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-29 Roger Sayle <roger@eyesopen.com>
PR middle-end/14203
* g++.dg/warn/Wunused-6.C: New test case.
From-SVN: r78648
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/function.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/Wunused-6.C | 11 |
4 files changed, 24 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 56158b5..dae31a0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/function.c b/gcc/function.c index 84f0e85..623f78c 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -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'", diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a5dd16b..1b768d0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 index 0000000..58a3f64 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wunused-6.C @@ -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" "" } +} + |