comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@merv.cs.nyu.edu (Robert Dewar)
Subject: Re: Fortran's Equivalence
Date: 1997/03/26
Date: 1997-03-26T00:00:00+00:00	[thread overview]
Message-ID: <dewar.859383980@merv> (raw)
In-Reply-To: 333840D1.7B12@cae.ca


Vigar says

<<
I have a BIT_PATTERN : System.Unsigned_32.  The first 4 bits represent
an integer A, the next 17 represent another record B, the last eleven
represent an integer C.  Ada gives something beautiful, in the "use at"
clause, which lets me define a record to superimpose onto the bit
pattern.  The big problem with this approach is that it isn't
guaranteed by the LRM, and I need my application to be portable to
other Ada implementations.  The Ada Quality and Style Guide, Clause
5.9.4, also tells us that we should not use the "use at" clause to do
such things.  I am using the GNAT compiler, 3.07 on the SGI.  The final
system will be delivered for a VAX.>>

Isn't it amazing how Ada's concentration on precision sometimes works to
its disadvantage :-)

Here we have a case where someone is used to misusing a construct in Fortran
(EQUIVALENCE) to do something highly non-portable (go look at the Fortran
standard with the same care that you have looked at the Ada standard!)

Sure the RM does not "guarantee" anything here, because it has very little
to say about representation, but if you are doing low level mucking around
the use of "use at" is exactly equivalent to Fortran EQUIVALENCE, and there
is no reason to be shy of it.

The statement in the AQ&S is a holdover from Ada 83 days, and I see no
justification for it. If "use at" does what you want, use it!





  reply	other threads:[~1997-03-26  0:00 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-03-25  0:00 Fortran's Equivalence Viqar Abbasi
1997-03-26  0:00 ` Robert Dewar [this message]
1997-03-26  0:00   ` Robert A Duff
1997-03-29  0:00   ` Matthew Heaney
1997-03-29  0:00     ` Robert Dewar
1997-04-02  0:00       ` JP Thornley
1997-03-26  0:00 ` FORTRAN's Equivalence Nick Roberts
1997-03-26  0:00 ` Fortran's Equivalence Michael F Brenner
1997-03-26  0:00   ` Larry Kilgallen
1997-03-28  0:00   ` Oliver Kellogg
1997-03-29  0:00   ` Matthew Heaney
1997-03-29  0:00     ` Robert Dewar
1997-04-01  0:00       ` Keith Thompson
1997-04-01  0:00         ` Robert Dewar
1997-04-01  0:00           ` Robert A Duff
1997-04-01  0:00             ` Robert Dewar
1997-04-04  0:00           ` Keith Thompson
1997-04-04  0:00             ` Robert Dewar
1997-04-07  0:00               ` Keith Thompson
1997-04-07  0:00               ` Charles H. Sampson
1997-04-07  0:00               ` Viqar Abbasi
1997-04-08  0:00                 ` Charles H. Sampson
1997-04-08  0:00                   ` Robert Dewar
     [not found]                     ` <1997Apr15.163103.27481@nosc.mil>
1997-04-16  0:00                       ` Robert Dewar
1997-04-08  0:00                   ` Matthew Heaney
1997-04-09  0:00                     ` Stephen Leake
1997-04-09  0:00                       ` Robert Dewar
1997-04-10  0:00                         ` Simon Wright
1997-04-10  0:00                           ` Robert Dewar
1997-04-04  0:00             ` Keith Thompson
1997-04-04  0:00               ` Robert Dewar
1997-04-08  0:00                 ` Keith Thompson
1997-04-07  0:00             ` Charles H. Sampson
1997-03-29  0:00     ` Robert Dewar
1997-03-26  0:00 ` Tom Moran
1997-03-28  0:00 ` Charles H. Sampson
1997-03-29  0:00   ` Matthew Heaney
1997-04-01  0:00     ` Charles H. Sampson
1997-03-29  0:00 ` Matthew Heaney
1997-03-29  0:00   ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox