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.