comp.lang.ada
 help / color / mirror / Atom feed
* Elaboration query
@ 2010-07-23  0:17 (see below)
  2010-07-23  2:10 ` Adam Beneschan
  0 siblings, 1 reply; 3+ messages in thread
From: (see below) @ 2010-07-23  0:17 UTC (permalink / raw)


I have a package which is a grandchild, and GNAT issues elaboration warnings
on its body, thus:

> with IOC.shift; pragma Elaborate_All(IOC.shift);
> package body IOC.shift.TR is
> ...
>    overriding
>    procedure Initialize (the_reader : in out IOC.shift.TR.device) is
>    begin
>       ...
>       open(...);
>       |
>>>> info: call to "open" during elaboration
>>>> info: implicit pragma Elaborate_All for "IO" generated
>>>> warning: "Initialize" called at line 31
>>>> warning: call to "open" in elaboration code requires pragma Elaborate_All
>>>> on "IO"
>    ...
>    end Initialize; ...
> end IOC.shift.TR;

The "open" operation it is complaining about is in the the IO package.

The ancestors of IOC.shift.TR begin thus:

> with IOC; pragma Elaborate_All(IOC);
> package IOC.shift is ...

and:

> with IO; pragma Elaborate_All(IO);
> package IOC is ...

How do I get rid of the warning?

I cannot put an explicit "pragma Elaborate_All(IO)" in IOC.shift.TR, because
it does not "with" IO.

Surely I should not have to "with" IO all the way down the parent/child
hierarchy? What am I doing wrong?

-- 
Bill Findlay
<surname><forename> chez blueyonder.co.uk





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-07-23 14:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-23  0:17 Elaboration query (see below)
2010-07-23  2:10 ` Adam Beneschan
2010-07-23 14:52   ` (see below)

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