comp.lang.ada
 help / color / mirror / Atom feed
From: denreimer@aol.com (DenReimer)
Subject: Re: Elaboration order
Date: 1996/03/20
Date: 1996-03-20T00:00:00+00:00	[thread overview]
Message-ID: <4io8rn$gfn@newsbf02.news.aol.com> (raw)
In-Reply-To: 314701A1.469D@lfwc.lockheed.com

Here's something that I'm trying to do in Ada83 and Ada95:

with GENERIC_PACKAGE;
package A_PKG is
   package INSTANCE is new GENERIC_PACKAGE ( ... );
   X : INTEGER := INSTANCE.SOME_FUNCTION;
end A_PKG;

The elaboration of X requires that the instantiated package INSTANCE be
elaborated first (both spec and body.)  The compiler will not let me use
pragma elaborate (INSTANCE);

It is not clear to me what the elaboration order should be in the case of
nested packages.  I would like to assume that for nested packages, the
elaboration is also nested.  In the case of generic instantiations, both
spec and body would be elaborated at the point of instantiation. 
Unfortunately, the LRM does not seem to make any requirements regarding
elaboration order for nested packages.  I've tried the above source code
with Ada/ED and an Alsys Ada83 compiler and it seems to work OK.

When I use gnat, I get a program error.  The Ada95 pragmas used for
controlling elaboration order seem to only apply to library units.  In the
example above, I believe that INSTANCE is a program unit but not a library
unit.  Is there some way I can force the elaboration of INSTANCE to occur
immediately?  The only other alternative I can think of is to create
another compilation unit just for the instantiation so that INSTANCE will
then be a library unit.

Thanks,
Dennis Reimer




  parent reply	other threads:[~1996-03-20  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
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 [this message]
1996-03-20  0:00   ` Tucker Taft
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
     [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         ` 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 A Duff
1996-03-22  0:00                   ` Cordes MJ
1996-03-20  0:00                 ` Robert Dewar
1996-03-21  0:00                   ` Ken Garlington
1996-03-23  0:00                 ` JP Thornley
1996-03-25  0:00                   ` Robert Dewar
1996-03-26  0:00                 ` JP Thornley
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-20  0:00   ` Robert I. Eachus
1996-03-22  0:00   ` Robert I. Eachus
1996-03-22  0:00   ` Robert I. Eachus
1999-11-15  0:00 Elaboration Order Wolf-Dieter Heker
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
1999-11-15  0:00 ` Robert Dewar
1999-11-16  0:00   ` Wolf-Dieter Heker
1999-11-16  0:00     ` David C. Hoos, Sr.
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
     [not found] <DoDMLL.1F9@world.std.com>
1996-03-18  0:00 ` Elaboration order Chris McKnight
  -- strict thread matches above, loose matches on Subject: below --
1996-03-18  0:00 Jean-Pierre Rosen
1996-03-21  0:00 ` Ken Garlington
replies disabled

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