[J3] [EXTERNAL] Re: Custom Memory Allocator
Reuben D. Budiardja
reubendb at ornl.gov
Fri Nov 15 19:19:29 EST 2019
Hi Vipul,
On 11/15/2019 03:47 PM, Vipul Parekh via J3 wrote:
> Reuben,
>
> Fortran standard states the object "shall have been allocated using
> the same mechanism as the Fortran ALLOCATE statement" for use with
> enhanced interoperability features introduced in Fortran 2018 i.e., in
> order to work with CFI_* functions and C descriptors.
>
> But with custom allocator, you can never know if you have the same
> mechanism as Fortran ALLOCATE statement. Thus the C descriptor based
> approach is effectively not an option.
Yes, as I noted there doesn't seem to be a way to do this in a standard
conformance way.
> So you're then back to the "opaque pointer" option introduced starting
> Fortran 2003. Now, would there be a reason for you not to consider
> this which then made you send this inquiry?
Yes, we can do this with Fortran pointer: allocate a C pointer with the
custom allocator and dereference it to a Fortran pointer with
C_F_POINTER(), but for those reasons that allocatable are more
advantageous over pointer, I'd like to be able to use allocatable array
instead.
Thanks,
Reuben
More information about the J3
mailing list