comp.lang.ada
 help / color / mirror / Atom feed
From: jwierzbo@hercii.lasc.lockheed.com (Joe Wierzbowski)
Subject: Re: Elaboration order
Date: 1996/03/16
Date: 1996-03-16T00:00:00+00:00	[thread overview]
Message-ID: <1996Mar16.213029.24934@enterprise.rdd.lmsc.lockheed.com> (raw)
In-Reply-To: 314829CD.4FA9@lfwc.lockheed.com

In article 4FA9@lfwc.lockheed.com, Ken Garlington <GarlingtonKE@lfwc.lockheed.com> () writes:
>   < snip >
> 
> 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!

  Yes, you can get Program_Error on the initialization of X.

  The important point here for Ada 83 is that this requirement
  refers to declarative regions.  So your choices are:
  1) Add a pragma Elaborate for each subprogram called during a 
     declarative region or
  2) Don't make initial assignments using subprogram calls in a
     declarative region.  This is a common mistake, so much so
     that it may be worth adding a restriction against doing so 
     in a coding standard.  I can tell you that it's almost always
     the first thing to bite you during integration; there's always
     someone who has an elaboration order problem.  

  Another thing to note here is that Ada 95 provides convenient
  ways of elaborating every required package (See Robert Duff's
  posting).  





  parent reply	other threads:[~1996-03-16  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 [this message]
1996-03-26  0:00       ` AdaWorks
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-26  0:00             ` Robert Dewar
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 ` Ted Dennison
1996-03-18  0:00 ` Ken Garlington
1996-03-19  0:00 ` Michel Gauthier
1996-03-20  0:00 ` DenReimer
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         ` Norman H. Cohen
1996-03-20  0:00           ` Cordes MJ
1996-03-19  0:00             ` Robert Dewar
1996-03-21  0:00               ` Cordes MJ
1996-03-21  0:00               ` Ken Garlington
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-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-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 ` 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
     [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