Hi James,
indeed, the code looks standard-conforming to me. The problem is the
initialization of lots, using of array of objects built by structure
constructors. gfortran and ifort complain that they don't know what
a is, so they can't resolve the interfaces from module funcs, nagfor
compiles without complaints. If you use
type(has_fun), dimension(2) :: lots
[...]
lots = [has_fun(a), has_fun(b)]
gfortran compiles this as well, while ifort 2021.5.0 produces an ICE.
You should report this to gfortran and Intel.
Cheers,
JRR
Am 22.05.22 um 09:54 schrieb James Van Buskirk:
--
Juergen Reuter
Theoretical Particle Physics
Deutsches Elektronen-Synchrotron (DESY)
Hamburg, Germany