comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: A note on GNAT 3.05 performance
Date: 1996/06/24
Date: 1996-06-24T00:00:00+00:00	[thread overview]
Message-ID: <dewar.835605407@schonberg> (raw)
In-Reply-To: DtF35x.5D@jvdsys.nextjk.stuyts.nl

"Michael F Brenner (mfb@mbunix.mitre.org) wrote:

: Is this why djgpp DOS interrupts don't work any more...because
: the structure containing the registers is a record type?
"

The best guess is that this relates to code that improperly assumes
that records are passed by reference. In Ada (and in GNAT) whether
a record is passed by reference or copy is implementatoin dependent
and may change from one version of the compiler to another, or
from one port to another (for example, in some ports, small records
are passed by value in registers).

If you want something passed by reference and your code depends on it,
either use an access parameter (if the value is guaranteed to be non-null)
or an explicit access type. This is the only legitimate way to be sure
that a record is passed by reference.





  reply	other threads:[~1996-06-24  0:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-06-20  0:00 A note on GNAT 3.05 performance Robert Dewar
1996-06-21  0:00 ` Michael F Brenner
1996-06-22  0:00   ` Robert Dewar
1996-06-22  0:00   ` Jerry van Dijk
1996-06-24  0:00     ` Robert Dewar [this message]
1996-06-28  0:00       ` Robert A Duff
1996-06-28  0:00       ` progers
1996-06-24  0:00 ` Dale Pontius
1996-06-24  0:00   ` Robert Dewar
1996-06-24  0:00   ` Norman H. Cohen
1996-06-24  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