https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111218
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P4 --- Comment #6 from kargl at gcc dot gnu.org --- > if (st->n.sym->module) > - gfc_error ("Name %qs at %C is an ambiguous reference to %qs " > - "from module %qs", name, st->n.sym->name, st->n.sym->module); > + { > + if (gfc_current_locus.lb) > + gfc_error ("Name %qs at %C is an ambiguous reference to %qs from" A space is missing after "... from". Should be "... from " > + "module %qs", name, st->n.sym->name, st->n.sym->module); > + else > + gfc_error ("Name %qs is an ambiguous reference to %qs, which is " > + "available through USE association from module %qs at %L", > + name, st->n.sym->name, st->n.sym->module, > + &st->n.sym->declared_at); > + } > else > gfc_error ("Name %qs at %C is an ambiguous reference to %qs " > "from current program unit", name, st->n.sym->name); The original code is too painful to read (aka uppercase and no formatting). The claim is that the code is valid. Maybe it is as the conflicting names in the modules are not referenced in the program unit. If OP references SET_ABOR1_EXCEPTION_HANDLER, good luck.