The example (which I will upload directly) fails as follows:

grendel:~/tmp/visibility simon$ gnatmake -c -u -f actual-s.ads
gcc -c actual-s.ads
actual-s.ads:4:01: instantiation error at basis-second.adb:4
actual-s.ads:4:01: no selector "Started" for type "Base" defined at
basis-second.ads:4, instance at line 4
gnatmake: "actual-s.ads" compilation error

I think the code should have compiled, because the selector Started is defined
in the private part of the parent package Basis.

However

grendel:~/tmp/visibility simon$ gnatmake -c -u -f basis-second.adb
gcc -c basis-second.adb
grendel:~/tmp/visibility simon$ 

In other words, the generic compiles but the instantiation doesn't, which is
not meant to happen.


-- 
           Summary: Visibility of private component of parent in child
                    generic, generic compiles but instantiation doesn't
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
 GCC build triplet: powerpc-apple-darwin7.9.0
  GCC host triplet: powerpc-apple-darwin7.9.0
GCC target triplet: powerpc-apple-darwin7.9.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24167

Reply via email to