OSDN Git Service

2007-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gnat.dg / layered_abstraction.ads
1 with Layered_Abstraction_P;
2 generic 
3     with package P1 is new Layered_Abstraction_P(<>);
4     with package P2 is new Layered_Abstraction_P(T => P1.T, Obj => <>); 
5 package Layered_Abstraction is
6     pragma Elaborate_Body;
7     X : P1.T := P2.Obj;  -- Both P1.T and P2.Obj are visible because 
8                          -- they were not specified in the formal package.                               -- Note that P2.T is not visible since it
9                          -- is required to match P1.T
10
11     use P1;              --  to make equality immediately visible 
12     Yes : Boolean := P1.Obj2 = P2.Obj2;
13 end Layered_Abstraction;