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