From: ddavenpo@redwood.hac.com (Darren C Davenport)
Subject: Ada95 visibility problem
Date: 1996/02/23
Date: 1996-02-23T00:00:00+00:00 [thread overview]
Message-ID: <4gl9on$8o4@hacgate2.hac.com> (raw)
I don't understand why a generic child package can't see components of a
package nested in it's generic parent. This could be a compiler problem
(GNAT 3.01) but I'm not sure. Here's an example: (and don't
even think about commenting on style)
-------------------------------------------------------------------
generic
package x is
package z is
function c return integer;
end z;
use z;
end x;
package body x is
package body z is
function c return integer is begin return 1; end c;
end z;
end x;
generic
package x.d is
function d return integer;
end x.d;
package body x.d is
function d return integer is begin return c; end d;
end x.d;
with x;
package k is new x;
with x.d;
package k.l is new k.d;
-------------------------------------------------------------------
When I compile k-l.ads I get the following:
GNAT Compiler Version 3.01 Copyright 1995 Free Software Foundation, Inc.
Compiling: k-l.ads (source file time stamp: 1996-02-23 20:47:21)
==============Error messages for source file: x-d.adb
3. function d return integer is begin return c; end d;
|
>>> "c" is not visible
>>> non-visible declaration at x.ads:5
3 lines: 2 errors
Now, if package x is not generic all is well. What's the difference?
An instantiation of a generic package x should be just as good as
a non-generic package x.
Thanks for any insights.
Darren
next reply other threads:[~1996-02-23 0:00 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-02-23 0:00 Darren C Davenport [this message]
[not found] ` <4gsrn2$9d0@wdl1.wdl.loral.com>
1996-02-26 0:00 ` Ada95 visibility problem Gene Ouye
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox