comp.lang.ada
 help / color / mirror / Atom feed
From: bobduff@world.std.com (Robert A Duff)
Subject: Re: Ada 83 - avoiding unchecked conversions.
Date: 1996/12/18
Date: 1996-12-18T00:00:00+00:00	[thread overview]
Message-ID: <E2MvBL.EHG@world.std.com> (raw)
In-Reply-To: dewar.850929268@merv


In article <dewar.850929268@merv>, Robert Dewar <dewar@merv.cs.nyu.edu> wrote:
>iEric said
>"using overlays.  Apparently on that compiler (VAX Ada 1.something)
>unchecked conversion was doing some checks.
>"
>Note that the unchecked in unchecked conversion is talking about omitting
>normal compile time checks for type correctness. It is NOT talking about

Another efficiency issue about unch_conv is whether or not it makes a
copy.  An instance of U_C is a function, so one would normally assume
that calling it makes a copy of the argument.  This is what the Ada 83
RM said, and this is no doubt why U_C was inefficient in some early
version of VAX Ada.  However, the Ada 83 ARG ruled that the function
result may be returned by reference in some cases, and Ada 95 agrees
with that ruling (see 13.9(12)).  So if you do:

    Some_Procedure(Unch_Conv(X));

then Some_Procedure might actually be receiving the address of X, rather
than the address of a copy of X.  This is different (and often more
efficient) than the semantics normal function calls.  And the difference
is detectable.

- Bob




  reply	other threads:[~1996-12-18  0:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <md5:8B831999BCF200C6E70994BDF6CC529F>
1996-12-11  0:00 ` Ada 83 - avoiding unchecked conversions Chris Sparks (Mr. Ada)
1996-12-11  0:00   ` Dewi Daniels
1996-12-12  0:00     ` Richard Kenner
1996-12-17  0:00       ` Eric Miller
1996-12-18  0:00         ` Robert Dewar
1996-12-18  0:00           ` Robert A Duff [this message]
1996-12-19  0:00           ` Keith Thompson
1996-12-26  0:00             ` Robert Dewar
1996-12-11  0:00   ` Matthew Heaney
1996-12-12  0:00     ` Chris Brand
1996-12-13  0:00       ` Stephen Leake
1996-12-14  0:00         ` Robert A Duff
1996-12-14  0:00     ` BGaffney42
1996-12-19  0:00   ` Robert I. Eachus
1996-11-27  0:00 Ensco Vendor
1996-11-27  0:00 ` Robert I. Eachus
1996-11-29  0:00 ` Robert Dewar
1996-12-01  0:00   ` Darel Cullen
1996-11-30  0:00     ` Robert Dewar
1996-12-11  0:00     ` Richard Riehle
1996-12-02  0:00 ` Ted Dennison
1996-12-10  0:00   ` Matthew Heaney
replies disabled

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