------- Comment #1 from janus at gcc dot gnu dot org  2009-04-27 16:54 -------
Something like this should do it:

Index: gcc/fortran/parse.c
===================================================================
--- gcc/fortran/parse.c (Revision 146826)
+++ gcc/fortran/parse.c (Arbeitskopie)
@@ -3310,7 +3310,7 @@ gfc_fixup_sibling_symbols (gfc_symbol *s
   sym->attr.referenced = 1;
   for (ns = siblings; ns; ns = ns->sibling)
     {
-      gfc_find_sym_tree (sym->name, ns, 0, &st);
+      st = gfc_find_symtree (ns->sym_root, sym->name);

       if (!st || (st->n.sym->attr.dummy && ns == st->n.sym->ns))
        goto fixup_contained;

It seems a bit unfortunate that we have two functions with almost the same name
(gfc_find_sym_tree and gfc_find_symtree), which do almost the same, but not
quite. The little difference is important here. Maybe one of these functions
should be renamed to make the usage clearer?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39930

Reply via email to