(root)/
gcc-13.2.0/
gcc/
testsuite/
gnat.dg/
pack5.adb
-- { dg-do compile }

procedure Pack5 is

  type Kind is (v1, v2, v3);

  type Error (k : Kind := Kind'First) is record
    case k is
    when v1 =>
      null;
    when v2 =>
      null;
    when Others =>
      B : Boolean;
    end case;
  end record;
  pragma Pack (Error);
  for Error'Size use 16;

  No_Error: constant Error := (k => v2);

  type R (B : Boolean) is record
    E : Error;
  end record;
  pragma Pack(R);
  type Ptr is access R;

  C : Ptr := new R (True);

begin
  C.E := No_Error;
end;