[J3] Allocatation upon assignment of a dummy argument in an interoperable procedure
Robert Corbett
rpcorbett at att.net
Mon Oct 7 16:53:47 EDT 2019
How does it fail?
Was the C descriptor initialized by CFI_establish and then passed changed to the interoperable subroutine, or was the C descriptor changed after it was established?
Bob Corbett
> On Oct 7, 2019, at 11:09 AM, Vipul Parekh via J3 <j3 at mailman.j3-fortran.org> wrote:
>
> Is the following code conforming?
>
> subroutine sub(foo) bind(C, name="foo")
> !.. Argument list
> integer(c_int), allocatable, intent(out) :: foo
> foo = 42 !<-- fails
> !allocate( foo ); foo = 42 !<-- works
> end subroutine
>
> When foo is invoked from a companion C processor with a successfully
> established C descriptor with the right attributes, the use of
> ALLOCATE statement followed by the assignment works as I expect.
> However allocation upon assignment, as shown above, fails.
>
> Thank you,
> Vipul Parekh
More information about the J3
mailing list