2 -- { dg-options "-gnatN" }
4 with Text_IO; use Text_IO;
5 with system; use system;
6 procedure inline_tagged is
8 type T_Inner is tagged record
11 type T_Inner_access is access all T_Inner;
12 procedure P2 (This : in T_Inner; Ptr : address);
14 type T_Outer is record
15 Inner : T_Inner_Access;
17 procedure P1 (This : access T_Outer);
20 procedure P2 (This : in T_Inner; Ptr : address) is
22 if this'address /= Ptr then
26 procedure P1 (This : access T_Outer) is
28 P2 (This.Inner.all, This.Inner.all'Address);
32 Thing : aliased T_Outer := (inner => new T_Inner);