aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Franke <franke.daniel@gmail.com>2007-07-09 10:56:49 -0400
committerDaniel Franke <dfranke@gcc.gnu.org>2007-07-09 10:56:49 -0400
commit33c0c5e958f3aa199e8aba8ca3796464d3cf0354 (patch)
treed988d5352d778753d50b8f2a4ea15994ad728bec
parent8b4c775b68bd734b6b7017c0c4905e0e7c3c41bc (diff)
downloadgcc-33c0c5e958f3aa199e8aba8ca3796464d3cf0354.zip
gcc-33c0c5e958f3aa199e8aba8ca3796464d3cf0354.tar.gz
gcc-33c0c5e958f3aa199e8aba8ca3796464d3cf0354.tar.bz2
re PR fortran/31129 (No warning on unused parameters)
gcc/fortran: 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. gcc/testsuite: 2007-07-09 Daniel Franke <franke.daniel@gmail.com> PR fortran/31129 * gfortran.dg/parameter_unused.f90: New test. From-SVN: r126486
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-decl.c8
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/parameter_unused.f909
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
+