While ifort 21.3 accepts the following code, ifx-21.3 crashes:
program p implicit none integer, target :: ptr integer, pointer :: A ptr = 42 print *, f() allocate (A, stat=f()) print *, f() contains function f() integer, pointer :: f f => ptr end function f end
ifort 21.3 prints the expected:
ifx-21.3 crashes with a traceback and finally:
ifx-bug-lvalue.f90(7): error #5533: Feature found on this line is not yet supported in ifx allocate (A, stat=f()) --^ compilation aborted for ifx-bug-lvalue.f90 (code 3)
Interested readers can see this page:
The code in the original post makes use of a Fortran 2008 feature generally referred to "Pointer function reference is a variable" that is not supported yet by IFX.
Intel Fortran team might find the code in the original post useful as a test case for IFX.