-- { dg-do run } -- { dg-options "-gnatws" } procedure Small_Alignment is type My_Integer is new Integer; for My_Integer'Alignment use 1; function Set_A return My_Integer is begin return 12; end; function Set_B return My_Integer is begin return 6; end; C : Character; A : My_Integer := Set_A; B : My_Integer := Set_B; begin A := A * B / 2; if A /= 36 then raise Program_Error; end if; end;