Using oneAPI 2023.1.0, mkl_dfti.f90 does not specify the DFTI_DESCRIPTOR type as BIND(C) (or SEQUENCE), which means these descriptors (which appear to only be pointers) cannot be used in common blocks. I’m not sure what language the underlying algorithms are written in, but since it appears to be just an opaque pointer, specifying the derived type as BIND(C) should probably be safe?
I’m making a copy of mkl_dfti.f90 and making this change locally, but it would be helpful if all the MKL descriptor types were all specified as BIND(C) if possible, which would allow storing them in common blocks without violating the standard.
As always, thanks for the helpful library and documentation.