comp.lang.ada
 help / color / mirror / Atom feed
From: cmcknigh@hercii.lasc.lockheed.com (Chris McKnight)
Subject: Re: Elaboration order
Date: 1996/03/18
Date: 1996-03-18T00:00:00+00:00	[thread overview]
Message-ID: <1996Mar18.000531.25689@enterprise.rdd.lmsc.lockheed.com> (raw)
In-Reply-To: DoDMLL.1F9@world.std.com

In article 1F9@world.std.com, bobduff@world.std.com (Robert A Duff) writes:
>In article <EACHUS.96Mar15174620@spectre.mitre.org>,
>Robert I. Eachus <eachus@spectre.mitre.org> wrote:
>>   BUT, and this is what makes it so painless, either your program
>>runs or you get PROGRAM_ERROR right off the bat, so leaving out a
>>(potentially) required pragma Elaborate is pretty harmless.
>
>True during development on a particular platform.  But what bugs me
>about these rules is that the mysterious Program_Error can pop up when
>you port the program to a different compiler.  (Or, less likely, a new
>version of the same compiler.)
     
     ... or when you add new functionality on the same platform either
  during incremental development or maintenance.  It is not uncommon
  for a program to suddenly develop elaboration order problems simply
  by recompiling a library unit or two, even if that unit does not
  itself have the problem.  I've seen this several times, the compilation
  causes a change in the elaboration order which causes a side effect of
  making some other library unit get an elaboration order problem.
  And, since we're talking Ada 83 here, it can be difficult to track
  down the possibly nested library units to which you'll need to add
  pragma Elaborate.  So, as you can see, using subprogram calls during
  declarative regions can be far from painless.

    These type of problems have lead me to avoid assignments during 
  elaboration using subprogram calls.  Why invite trouble when it's 
  easily avoided?  I'll take controlled behaviour of initialization
  through Initialization procedures over unpredictable elaboration
  order dependencies any day.

  Just my $.02

  Cheers,

    Chris
  





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

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <DoDMLL.1F9@world.std.com>
1996-03-18  0:00 ` Chris McKnight [this message]
     [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     ` Ted Dennison
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         ` Robert A Duff
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   ` 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               ` 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-15  0:00     ` Robert A Duff
     [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-18  0:00       ` Norman H. Cohen
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-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     ` 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
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