https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99651
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> --- The obvious idea to do: if (sym->attr.flavor == FL_UNKNOWN || sym->attr.flavor == FL_PROCEDURE) in gfc_intrinsic_func_interface works, but has the side effect that for print *, allocated(f) ('f' is a function) of gfortran.dg/allocatable_scalar_11.f90 the error is generated by resolve_generic_f's m = gfc_intrinsic_func_interface (expr, 0); ... if (m == MATCH_NO) gfc_error ("Generic function %qs at %L is not consistent with a " "specific intrinsic interface", expr->symtree->n.sym->name, Without that 'obvious' patch, the error is generated by the call to check_specific (specific, expr, 0) also within gfc_intrinsic_func_interface.