-- { dg-do compile } with Text_IO; use Text_IO; procedure Dump (A : System.Address; Len : Storage_Offset) is Arr : Storage_Array (1 .. Len); for Arr'Address use A; pragma Import (Ada, Arr); H : constant array (Storage_Element range 0 .. 15) of Character := "0123456789abcdef"; begin for J in Arr'Range loop Put (' ' & H (Arr (J) / 16) & H (Arr (J) mod 16)); end loop; end;