PR tree-optimization/81303
[official-gcc.git] / gcc / testsuite / gnat.dg / layered_abstraction.ads
blob219fbebc3fa141d1a815e6d18a45e16d1c8eae53
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
11 use P1; -- to make equality immediately visible
12 Yes : Boolean := P1.Obj2 = P2.Obj2;
13 end Layered_Abstraction;