-- { dg-do compile }

procedure Class_Wide1 is
    package P is
       type T is tagged null record;
       procedure P1 (x : T'Class);
       procedure P2 (x : access T'Class);
    end P;
    package body P is
        procedure P1 (x : T'Class) is 
       begin 
          null;
       end;
       procedure P2 (x : access T'Class) is
       begin
          null;
       end;
    end P;
    use P;
    a : T;
    type Ptr is access T;
    b : Ptr := new T;
begin
    A.P1;
    B.P2;
end;
