comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: Elaboration
Date: 30 Oct 1994 08:39:06 -0500
Date: 1994-10-30T08:39:06-05:00	[thread overview]
Message-ID: <3907lq$etb@gnat.cs.nyu.edu> (raw)
In-Reply-To: 941029004807_73672.2025_DHR55-2@CompuServe.COM

It is an unfortunate fact that in many implementations of Ada, pragma
Inline does indeed create dependencies of this nature, and can lead to
circular dependencies. Of course compilers are not *required* to introduce
these dependencies.

Using the source library approach of GNAT, you can never get circular
dependencies from pragma Inline, since the only dependencies are from
objects to sources, there are no inter-unit dependencies, or order of
compilation requirements for pragma Inline to work.

I believe that the Telesoft compiler (as opposed to the Alsys compiler) could
also achieve this kind of freedom using the back end optimizer feature that
allowed a number of units to be optimized to gether (of course this approach
gets a bit marginal for really large programs, but it has advantages beyond
simply handling inline "correctly")

SUbunits in particular introduce situations in which inline simply doesn't
work "right" in some Ada implementations. For example, if the body of
a subunit provides the body for an inlined function, the parent will not
be able to inline the function, since it must be compiled before its
subunits.




  reply	other threads:[~1994-10-30 13:39 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1994-10-29  0:48 Elaboration Ken Garlington
1994-10-30 13:39 ` Robert Dewar [this message]
     [not found] <941029004807_73672.2025_DHR55-2@compuserve.com>
1994-10-31 15:23 ` Elaboration Tucker Taft
replies disabled

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