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