From: stt@henning.camb.inmet.com (Tucker Taft)
Subject: Re: Elaboration order
Date: 1996/03/15
Date: 1996-03-15T00:00:00+00:00 [thread overview]
Message-ID: <DoBAMB.GGs.0.-s@inmet.camb.inmet.com> (raw)
In-Reply-To: 314829CD.4FA9@lfwc.lockheed.com
Ken Garlington (GarlingtonKE@lfwc.lockheed.com) wrote:
: Chris McKnight wrote:
: >
: > LRM References? Hmm.. how about (taken from ANSI/MIL-STD-1815A-1983):
: >
: > 7.3 paragraph 4 :
: > "The elaboration of the body of a subprogram declared in the visible
: > part of a package is caused by the elaboration of the body of the
: > package. Hence a call of such a subprogram by an outside program
: > unit raises the exception PROGRAM_ERROR if the call takes place
: > before the elaboration of the package body"
: So what does this mean in the following case:
: package Another_Example is
: function Initial_Value return Integer;
: end;
: package body Another_Example is
: function Initial_Value return Integer is begin return 0; end;
: end;
: with Another_Example;
: package Use_Example is
: X : Integer := Another_Example.Initial_Value;
: end;
: Can I get a Program_Error on the initialization of X? If so,
: it would seem like there would need to be a pragma
: Elaborate for nearly every reference to every package
: exporting a subprogram!
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.
-Tucker Taft stt@inmet.com http://www.inmet.com/~stt/
Intermetrics, Inc. Cambridge, MA USA
next prev parent 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 [this message]
1996-03-15 0:00 ` Ken Garlington
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 ` IO in Pure packages, debugging Laurent Guerby
1996-03-26 0:00 ` Elaboration order Robert A Duff
1996-03-26 0:00 ` Robert Dewar
1996-03-26 0:00 ` 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
1996-03-20 0:00 ` DenReimer
1996-03-20 0:00 ` Norman H. Cohen
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 ` Tucker Taft
[not found] ` <Do8JDv.A2v@world.std.com>
[not found] ` <31494143.3825@lfwc.lockheed.com>
1996-03-15 0:00 ` Mark A Biggar
1996-03-18 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-19 0:00 ` Chris McKnight
1996-03-21 0:00 ` Ken Garlington
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-18 0:00 ` Robert Dewar
1996-03-19 0:00 ` Ted Dennison
1996-03-20 0:00 ` David Emery
1996-03-20 0:00 ` Robert I. Eachus
1996-03-22 0:00 ` Robert I. Eachus
1996-03-22 0:00 ` Robert I. Eachus
[not found] <DoDMLL.1F9@world.std.com>
1996-03-18 0:00 ` Chris McKnight
1996-03-18 0:00 Jean-Pierre Rosen
1996-03-21 0:00 ` Ken Garlington
-- 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-20 0:00 ` Simon Wright
1999-11-22 0:00 ` Robert Dewar
1999-11-23 0:00 ` Mats Weber
1999-11-16 0:00 ` Robert Dewar
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