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
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.
More information about the J3