This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: Array Descriptor Update
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: "N.M. Maclaren" <nmm1 at cam dot ac dot uk>
- Cc: fortran at gcc dot gnu dot org
- Date: Tue, 18 Aug 2009 14:23:59 +0200
- Subject: Re: Array Descriptor Update
- References: <Prayer.1.3.1.0908181313360.6352@hermes-2.csi.cam.ac.uk>
On Tue, Aug 18, 2009 at 2:13 PM, N.M. Maclaren<nmm1@cam.ac.uk> wrote:
> Looking at this, I have noticed it mentions virtual origins, but neither it
> nor the comp.lang.fortran thread says why using a virtual origin is a
> really, really bad idea in a portable specification. Yes, Bob Corbett is
> right that it can gain a little bit of performance almost for free, but the
> downsides are serious.
>
> If I should raise this elsewhere, please tell me where. I have subscribed to
> the Wiki. The reasons are:
>
> ? It's a breach of the C standard, but that's a mere technicality :-)
How so? I think it is not.
> ? It's completely infeasible on segmented architectures, which still exist;
> that's probably not too serious, either.
How so? But yes, who cares.
> ? It's incompatible with most forms of memory checking technology, though
> there is a path through the minefield for some of them (i.e. the ones that
> check only accesses, and not stored pointers).
I don't remember technology that relies on object base address pointers.
valgrind for example will be happy with a pointer into the object.
> ? It interferes with many forms of garbage collection, and is incompatible
> with many of the fancier ones. ?The extreme case is that it looks like a
> pointer into another object, which is them moved as part of compaction.
I don't think so. Garbage collectors better should be able to handle
&a[10] as a reference to a.
Richard.
> Regards,
> Nick Maclaren.
>
>