+2011-08-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/31461
+ * trans-decl.c (generate_local_decl): Warn about
+ unused explicitly imported module variables/parameters.
+
2011-08-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/50070
|| sym->attr.in_namelist))
gfc_warning ("Unused variable '%s' declared at %L", sym->name,
&sym->declared_at);
+ else if (warn_unused_variable && sym->attr.use_only)
+ gfc_warning ("Unused module variable '%s' which has been explicitly "
+ "imported at %L", sym->name, &sym->declared_at);
/* For variable length CHARACTER parameters, the PARM_DECL already
references the length variable, so force gfc_get_symbol_decl
else if (sym->attr.flavor == FL_PARAMETER)
{
if (warn_unused_parameter
- && !sym->attr.referenced
- && !sym->attr.use_assoc)
- gfc_warning ("Unused parameter '%s' declared at %L", sym->name,
- &sym->declared_at);
+ && !sym->attr.referenced)
+ {
+ if (!sym->attr.use_assoc)
+ gfc_warning ("Unused parameter '%s' declared at %L", sym->name,
+ &sym->declared_at);
+ else if (sym->attr.use_only)
+ gfc_warning ("Unused parameter '%s' which has been explicitly "
+ "imported at %L", sym->name, &sym->declared_at);
+ }
}
else if (sym->attr.flavor == FL_PROCEDURE)
{
+2011-08-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/31461
+ * gfortran.dg/warn_unused_var_2.f90: New.
+ * gfortran.dg/warn_unused_var_3.f90: New.
+
2011-08-17 Tom de Vries <tom@codesourcery.com>
PR target/43597
--- /dev/null
+! { dg-do compile }
+! { dg-options "-Wunused" }
+!
+! PR fortran/31461
+!
+! Contributed by Vivek Rao.
+!
+
+module util_mod
+ integer :: i,j
+end module util_mod
+
+program main
+ use util_mod, only: i,j ! { dg-warning "Unused module variable .i. which has been explicitly imported" }
+ j = 1
+ print*,"j=",j
+end program main
+
+! { dg-final { cleanup-modules "util_mod" } }
--- /dev/null
+! { dg-do compile }
+! { dg-options "-Wunused-parameter" }
+!
+! PR fortran/31461
+!
+module util_mod
+ integer, parameter :: i = 4
+end module util_mod
+
+program main
+ use util_mod, only: i ! { dg-warning "Unused parameter .i. which has been explicitly imported" }
+ integer, parameter :: j = 4 ! { dg-warning "Unused parameter .j. declared at" }
+end program main
+
+! { dg-final { cleanup-modules "util_mod" } }