------- Comment #3 from tkoenig at gcc dot gnu dot org 2009-01-06 13:05 ------- This appears to resolve the issue(s):
Index: interface.c =================================================================== --- interface.c (revision 143076) +++ interface.c (working copy) @@ -2411,9 +2411,12 @@ void gfc_procedure_use (gfc_symbol *sym, gfc_actual_arglist **ap, locus *where) { - /* Warn about calls with an implicit interface. */ + /* Warn about calls with an implicit interface. Special case + for calling a ISO_C_BINDING because these c_loc and c_funloc + are pseudo-unknown. */ if (gfc_option.warn_implicit_interface - && sym->attr.if_source == IFSRC_UNKNOWN) + && sym->attr.if_source == IFSRC_UNKNOWN + && ! sym->attr.is_iso_c) gfc_warning ("Procedure '%s' called with an implicit interface at %L", sym->name, where); Index: symbol.c =================================================================== --- symbol.c (revision 143076) +++ symbol.c (working copy) @@ -4169,6 +4169,7 @@ generate_isocbinding_symbol (const char tmp_sym->result = tmp_sym; tmp_sym->attr.external = 1; tmp_sym->attr.use_assoc = 0; + tmp_sym->attr.pure = 1; tmp_sym->attr.if_source = IFSRC_UNKNOWN; tmp_sym->attr.proc = PROC_UNKNOWN; } -- tkoenig at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |tkoenig at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-01-06 13:05:59 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38220