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
next parent 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