(j3.2006) Did we intend to prohibit this?

Steve Lionel steve
Fri Mar 10 17:12:27 EST 2017


On 3/10/2017 5:00 PM, Van Snyder wrote:
> According to 9.7.3.2p4, whatever the function result is, it must be
> allocatable, or it couldn't be deallocated.

The difference is that the programmer is not in control of the 
allocatable object once the function returns. As Tom says, you can see 
the value, but don't have a handle on the allocation. The processor is 
responsible for setting up the result variable as allocatable and 
deallocating it when the statement completes. You don't get to do 
anything to its allocation status or even reference it as if it were an 
allocatable.

As Malcolm wrote, the purpose of this feature is to allow a function to 
return an arbitrary-shape result, the shape of which is then used in the 
context of the function's value. Once the function returns, the fact 
that the result is allocatable is invisible to the programmer.

Steve




More information about the J3 mailing list