(j3.2006) 07-276r1

Aleksandar Donev donev1
Tue Oct 2 13:05:38 EDT 2007


Bill Long wrote:

> A co-array might have some storage constraints, and they might 
> be incompatible with the way C stores globals. 
This is a choice to some extent: If we make them interoperable then we 
will forbid such implementations and in effect require that they have 
the same physical representation (this includes things like what segment 
they are in, how they come into existence during loading, and all that 
stuff). At subgroup discussions in London this was the expressed 
intention...

It is like the discussion on extra padding in ALLOCATABLE arrays: Since 
we claim they are contiguous just like C arrays and ordinary explicit 
shape ones, we are effectively forbidding any extra padding rows (it has 
been claimed this is an optimization). We have a choice of limiting the 
freedom of compilers/libraries.

That said, I am in agreeement:
> They might be in 
> different data segments, for example.
OK, I will write a paper to make them non-interoperable. Since C_LOC 
apparently still works and components are allocatable anyway, this will 
only impact global variables, which is not that big of a deal anyway.

Best,
Aleks



More information about the J3 mailing list