comp.lang.ada
 help / color / mirror / Atom feed
From: Ken Garlington <garlingtonke@lfwc.lockheed.com>
Cc: stt@inmet.com
Subject: Re: Elaboration order
Date: 1996/03/15
Date: 1996-03-15T00:00:00+00:00	[thread overview]
Message-ID: <314972FC.3F86@lfwc.lockheed.com> (raw)
In-Reply-To: DoBAMB.GGs.0.-s@inmet.camb.inmet.com

Tucker Taft wrote:
> 
> You only need a pragma Elaborate[_All](pkg) if you call a subprogram
> from "pkg" as part of the *elaboration* of some other package.
> 
> If the calls only appear in subprogram bodies, rather than at
> the package level, you shouldn't have any problem.

OK. Keeping in mind that I need the answer in terms of Ada 83, then this
is what I think I've heard so far:

1. If, in a package specification, I refer to something in another
package specification that is not completely defined in the other spec,
I need a pragma Elaborate. "Something" can include:

  - any case where I need the sequence_of_statements in the package
    body to run prior to the use of the something, such as a variable
    in the spec which is set in the sequence_of_statements. This case,
    I think I always understood.

  - any subprogram (since, otherwise, I could get a Program_Error); although
    I guess it would have to be a function. This case, I didn't understand.

2. On the other hand, if I refer to a subprogram within another subprogram
   body, I don't have to use pragma Elaborate. Is there a spec reference for
   this? What about referring to a subprogram elsewhere in a package body?
   What about the sequence_of_statements case above?

I'm trying to write up an explanation of this issue for our users, since
I don't think we understood the extent to which pragma Elaborate was needed.
Any assistance in this area in the immediate future would be appreciated.

> 
> -Tucker Taft   stt@inmet.com   http://www.inmet.com/~stt/
> Intermetrics, Inc.  Cambridge, MA  USA




  reply	other threads:[~1996-03-15  0:00 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <314701A1.469D@lfwc.lockheed.com>
1996-03-15  0:00 ` Elaboration order Robert I. Eachus
1996-03-15  0:00   ` Robert Dewar
     [not found] ` <1996Mar14.021345.9856@enterprise.rdd.lmsc.lockheed.com>
     [not found]   ` <314829CD.4FA9@lfwc.lockheed.com>
1996-03-15  0:00     ` Tucker Taft
1996-03-15  0:00       ` Ken Garlington [this message]
1996-03-16  0:00     ` Joe Wierzbowski
1996-03-26  0:00       ` AdaWorks
1996-03-26  0:00         ` Robert Dewar
1996-03-26  0:00           ` Robert A Duff
1996-03-26  0:00             ` Robert Dewar
1996-03-26  0:00           ` IO in Pure packages, debugging Laurent Guerby
1996-03-26  0:00         ` Elaboration order Robert A Duff
1996-03-16  0:00     ` Ted Dennison
1996-03-26  0:00     ` Laurent Guerby
1996-03-26  0:00       ` Robert A Duff
1996-03-18  0:00 ` Ken Garlington
1996-03-18  0:00 ` Ted Dennison
1996-03-19  0:00 ` Michel Gauthier
     [not found] ` <Do8JDv.A2v@world.std.com>
     [not found]   ` <31494143.3825@lfwc.lockheed.com>
1996-03-15  0:00     ` Robert A Duff
1996-03-18  0:00       ` Norman H. Cohen
     [not found]       ` <EACHUS.96Mar18143219@spectre.mitre.org>
1996-03-18  0:00         ` Robert Dewar
1996-03-19  0:00           ` Ted Dennison
1996-03-18  0:00         ` Robert Dewar
1996-03-20  0:00         ` David Emery
1996-03-15  0:00     ` Mark A Biggar
1996-03-18  0:00       ` Ken Garlington
1996-03-19  0:00         ` Chris McKnight
1996-03-21  0:00           ` Ken Garlington
1996-03-19  0:00         ` Norman H. Cohen
1996-03-20  0:00           ` Cordes MJ
1996-03-19  0:00             ` Robert Dewar
1996-03-21  0:00               ` Ken Garlington
1996-03-21  0:00               ` Cordes MJ
1996-03-20  0:00             ` Robert A Duff
1996-03-20  0:00               ` Cordes MJ
1996-03-20  0:00                 ` Robert Dewar
1996-03-21  0:00                   ` Ken Garlington
1996-03-20  0:00                 ` Robert A Duff
1996-03-22  0:00                   ` Cordes MJ
1996-03-23  0:00                 ` JP Thornley
1996-03-25  0:00                   ` Robert Dewar
1996-03-26  0:00                 ` JP Thornley
1996-03-20  0:00   ` Robert I. Eachus
1996-03-22  0:00   ` Robert I. Eachus
1996-03-22  0:00   ` Robert I. Eachus
1996-03-20  0:00 ` DenReimer
1996-03-20  0:00   ` Robert A Duff
1996-03-20  0:00     ` Norman H. Cohen
1996-03-20  0:00       ` Robert Dewar
1996-03-20  0:00   ` Norman H. Cohen
1996-03-20  0:00   ` Tucker Taft
1996-03-18  0:00 Jean-Pierre Rosen
1996-03-21  0:00 ` Ken Garlington
     [not found] <DoDMLL.1F9@world.std.com>
1996-03-18  0:00 ` Chris McKnight
  -- strict thread matches above, loose matches on Subject: below --
1999-11-15  0:00 Elaboration Order Wolf-Dieter Heker
1999-11-15  0:00 ` Robert Dewar
1999-11-16  0:00   ` Wolf-Dieter Heker
1999-11-16  0:00     ` Robert Dewar
1999-11-16  0:00     ` Robert Dewar
1999-11-20  0:00       ` Simon Wright
1999-11-22  0:00         ` Robert Dewar
1999-11-23  0:00           ` Mats Weber
1999-11-16  0:00     ` David C. Hoos, Sr.
1999-11-15  0:00 ` Jean-Pierre Rosen
1999-11-15  0:00   ` Robert Dewar
1999-11-16  0:00     ` Jean-Pierre Rosen
1999-11-20  0:00       ` Simon Wright
replies disabled

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