------- Comment #5 from kargl at gcc dot gnu dot org  2008-05-17 19:10 -------
This diff fixes the BIND(C) ice, but I haven't found a suitable location to 
emit an error message.

Index: resolve.c
===================================================================
--- resolve.c   (revision 135453)
+++ resolve.c   (working copy)
@@ -6612,10 +6612,10 @@
               has_error = 1;
             }
           else if (sym->attr.contained == 0 
-                   && (sym->attr.if_source == IFSRC_UNKNOWN))
-            if ((sym->attr.use_assoc 
-                 && (strcmp (bind_c_sym->mod_name, sym->module) != 0)) 
-                || sym->attr.use_assoc == 0)
+                   && sym->attr.if_source == IFSRC_UNKNOWN)
+           if ((sym->attr.use_assoc && bind_c_sym->mod_name
+                && strcmp (bind_c_sym->mod_name, sym->module) != 0) 
+               || sym->attr.use_assoc == 0)
               {
                 gfc_error ("Binding label '%s' at %L collides with global "
                            "entity '%s' at %L", sym->binding_label,


-- 


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

Reply via email to