comp.lang.ada
 help / color / mirror / Atom feed
* Re: Pragma ELABORATE (was: Re: Novice Q
       [not found] <3175@<620474407>
@ 1989-09-01 16:56 ` stt
  0 siblings, 0 replies; only message in thread
From: stt @ 1989-09-01 16:56 UTC (permalink / raw)



We have proposed that pragma Elaborate be changed/augmented
as part of Ada9X.  The proposal suggests that
pragma Elaborate cause the "early" elaboration of all of the
bodies of all packages in the "with" closure of the
specified package.   This is useful because
a package generally doesn't "know" whether any of
its subprograms will be called at elaboration time,
and hence whether it should pragma-elaborate the packages
it depends on.   Furthermore, due to mutual dependency
between packages, it is often hard to insert pragma Elaborates
as needed.  However, the closure approach doesn't need to specify
a specific ordering among the package bodies making up the
closure, and hence isn't affected by mutual dependency issues.

The wording of the proposal is
such that any conflict created by elaborating the closure
of with dependencies is resolved in favor of direct
pragma Elaborates.  Given that, there is no reason
why linkers couldn't implement the proposed semantics
now.  However, the goal of the proposal is to reduce
the rehosting surprises currently possible due
to distinct implementations of elaboration-order
determination, by making the closure implementation
approach a requirement of the language.

Tucker Taft
Intermetrics, Inc.
Cambridge, MA  02138

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1989-09-01 16:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <3175@<620474407>
1989-09-01 16:56 ` Pragma ELABORATE (was: Re: Novice Q stt

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