comp.lang.ada
 help / color / mirror / Atom feed
From: mfb@mbunix.mitre.org (Michael F Brenner)
Subject: Re: Ada 95 case statement incompatibility?
Date: 1996/08/27
Date: 1996-08-27T00:00:00+00:00	[thread overview]
Message-ID: <4vvmra$k3t@linus.mitre.org> (raw)
In-Reply-To: 4vv4bs$hb8@erlang.praxis.co.uk


Another difference between 83 and 95 that was not documented is the
later rule that generics instantiated with signed numbers are 
incompatible with generics instantiated with unsigned numbers. This
makes the systems programming of device drivers almost impossible to
program compatibly between 83 and 95, and also (ultimately) led to
the decision that we don't have access to the upper bit of an 
n-bit signed or unsigned number during conversions. This loss of a bit
can have an efficiency effect, as well as the workarounds it forces
one to place in one's code. For example, in one current Ada-95 compiler,
the unchecked conversion one would think of to work around the problem
actually generates code! The original Ada 9X requirement to handle
and give the systems programmer access to all the bits was not handled here.
Those Ada 83 implementations that gave unsigned numbers (by overloading
modular operations onto a signed number type) are not compatible in
either regular code (documented in the list of incompatibilities) or 
generically (not documented in the list of incompatibilities).






  reply	other threads:[~1996-08-27  0:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-08-27  0:00 Ada 95 case statement incompatibility? Gavin Finnie
1996-08-27  0:00 ` Michael F Brenner [this message]
1996-08-28  0:00   ` Robert Dewar
1996-08-28  0:00   ` Norman H. Cohen
1996-08-28  0:00     ` Robert Dewar
1996-08-28  0:00 ` Robert Dewar
1996-08-28  0:00   ` Gavin Finnie
1996-08-29  0:00 ` Robert A Duff
replies disabled

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