(j3.2006) DEALLOCATE and image control
Van Snyder
van.snyder
Fri Apr 4 02:13:07 EDT 2014
Malcolm Cohen wrote:
>> I couldn't find anything about whether a variable of a type that has an
>> allocatable coarray ultimate component can be a pointer.
>>
>
> That would be
>
> C525 An entity whose type has a coarray ultimate component shall be a nonpointer
> nonallocatable scalar, shall not be a coarray, and shall not be a function
> result.
>
Thanks; I was concerned about deallocating an object using a pointer,
thereby not automatically deallocating coarray components, and therefore
not synchronizing. If 6.7.3.3 had something like 6.7.3.2p8, this
couldn't happen.
Since "entity" includes "pointer," it's possible to have a pointer to a
coarray, but not to an object of a type that has a coarray component.
It would be better to allow pointers of those types, but not allow to
allocate or deallocate them. Otherwise, one cannot make linked lists of
objects that have coarray components.
While thinking about this, and having found 6.7.3.2p8, I started
wondering the order in which allocatable components of allocatable
objects are deallocated. It should be specified, perhaps "in component
order." If there are, say, two allocatable coarray components, and one
image deallocates them in one order, while another one deallocates in
another order, deadlock results.
> Cheers,
>
More information about the J3
mailing list