package A is
   type T is tagged record
      F1 : Integer;
      F2 : Character;
   end record;

   procedure Foo1 (P : T);
   procedure Foo2 (P : T);
   procedure Foo3 (P : T'Class);

   type T2 is new T with record
      F3 : Float;
   end record;

   procedure Foo2 (P : T2);
   procedure Foo4 (P : T2'Class);
end A;
