------- Comment #10 from ebotcazou at gcc dot gnu dot org 2008-11-24 20:33
-------
> This should probably be
>
> m = gfc_match ("function% %n", name);
>
> > if (m == MATCH_YES && strcmp (name, gfc_current_block ()->name) == 0)
>
> Otherwise, the 'm == MATCH_YES' is using an old value.
But in this case the first assignment to 'm' would be dead. What about
if (m == MATCH_YES
&& gfc_match ("function% %n", name) == MATCH_YES
&& strcmp (name, gfc_current_block ()->name) == 0)
{
gfc_current_block ()->declared_at = gfc_current_locus;
gfc_commit_symbols ();
}
else
gfc_error_check ();
instead?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37319