------- 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

Reply via email to