------- Comment #4 from burnus at gcc dot gnu dot org 2008-09-09 12:15 -------
That algorithm looks bogus:
generate_local_decl (gfc_symbol * sym)
{
if (sym->attr.flavor == FL_VARIABLE)
{
/* Check for dependencies in the array specification and string
length, adding the necessary declarations to the function. We
mark the symbol now, as well as in traverse_ns, to prevent
getting stuck in a circular dependency. */
sym->mark = 1;
[...]
else if (warn_unused_variable
&& !(sym->attr.in_common || sym->attr.use_assoc || sym->mark))
It might be that sym->mark is somewhere reset, but I don't see where; if it is
not reset then it is clear that the message is not printed.
I think it got broken by Rev. 132756:
else if (warn_unused_variable
- && !(sym->attr.in_common || sym->attr.use_assoc))
+ && !(sym->attr.in_common || sym->attr.use_assoc || sym->mark))
+2008-02-28 Daniel Franke <[EMAIL PROTECTED]>
+
+ PR fortran/31463
+ PR fortran/33950
+ PR fortran/34296
See also:
http://gcc.gnu.org/viewcvs?view=rev&revision=132756
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37420