diff options
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/trans-decl.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/parameter_unused.f90 | 9 |
4 files changed, 28 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 63b0b7c..70c4f83 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-07-09 Daniel Franke <franke.daniel@gmail.com> + + PR fortran/31129 + * trans-decl.c (generate_local_decl) Emit a warning if an unused + parameter is found. + 2007-07-08 Daniel Franke <franke.daniel@gmail.com> PR fortran/29876 diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 09b5d9b..608b779 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -3035,6 +3035,14 @@ generate_local_decl (gfc_symbol * sym) if (sym->attr.dummy && sym->backend_decl != NULL_TREE) TREE_NO_WARNING(sym->backend_decl) = 1; } + else if (sym->attr.flavor == FL_PARAMETER) + { + if (warn_unused_variable + && !sym->attr.referenced + && !sym->attr.use_assoc) + gfc_warning ("unused parameter '%s' declared at %L", sym->name, + &sym->declared_at); + } if (sym->attr.dummy == 1) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6e61609..6c95f13 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-07-09 Daniel Franke <franke.daniel@gmail.com> + + PR fortran/31129 + * gfortran.dg/parameter_unused.f90: New test. + 2007-07-09 Uros Bizjak <ubizjak@gmail.com> PR tree-optimization/32681 diff --git a/gcc/testsuite/gfortran.dg/parameter_unused.f90 b/gcc/testsuite/gfortran.dg/parameter_unused.f90 new file mode 100644 index 0000000..7496169 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/parameter_unused.f90 @@ -0,0 +1,9 @@ +! { dg-do compile } +! { dg-options "-Wunused" } +! +! PR fortran/31129 - No warning on unused parameters +! +program fred +integer,parameter :: j = 9 ! { dg-warning "unused parameter" } +end + |