Gfortran-15 bug/regression

The only thing that occurs to me regarding your code is that externalattribute in declaration of ffinside the function dnf2is not needed, as it is only required in the unit(s) in which the given function is used as an actual argument in calling another procedure. Here, it is only explicitly used as function,dnf2=ff(xx+xx)so the external is redundant.