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
);