| -- { dg-do run } | |
| with System; | |
| procedure Interface1 is | |
| package Pkg is | |
| type I1 is interface; | |
| type Root is tagged record | |
| Data : string (1 .. 300); | |
| end record; | |
| type DT is new Root and I1 with null record; | |
| end Pkg; | |
| use Pkg; | |
| use type System.Address; | |
| Obj : DT; | |
| procedure IW (O : I1'Class) is | |
| begin | |
| if O'Address /= Obj'Address then | |
| raise Program_Error; | |
| end if; | |
| end IW; | |
| begin | |
| IW (Obj); | |
| end Interface1; |