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

with Ada.Unchecked_Conversion;

procedure Unchecked_Convert13 is

  type B16_T is mod 2 ** 16;
  for B16_T'Size use 16;
  for B16_T'Alignment use 1;

  type Rec_T is record
    A : Short_Integer;
  end record;
  for Rec_T use record
    A at 0 range 0 .. 15;
  end record;
  for Rec_T'Size use 16;

  Rec : constant Rec_T := (A => 0);

  function Rec_To_B16 is new Ada.Unchecked_Conversion (Rec_T, B16_T);

  procedure Nested (B16 : B16_T) is
  begin
    null;
  end;

begin
  Nested (Rec_To_B16 (Rec));
end;