bit_packed_array3.adb
来自「用于进行gcc测试」· ADB 代码 · 共 41 行
ADB
41 行
-- { dg-do run }-- { dg-options "-O2 -gnatp" }procedure Bit_Packed_Array3 is type Bitmap_T is array (1 .. 10) of Boolean; pragma Pack (Bitmap_T); type Maps_T is record M1 : Bitmap_T; end record; pragma Pack (Maps_T); for Maps_T'Size use 10; pragma Suppress_Initialization (Maps_T); Tmap : constant Bitmap_T := (others => True); Fmap : constant Bitmap_T := (others => False); Amap : constant Bitmap_T := (1 => False, 2 => True, 3 => False, 4 => True, 5 => False, 6 => True, 7 => False, 8 => True, 9 => False, 10 => True); function Some_Maps return Maps_T is Value : Maps_T := (M1 => Amap); begin return Value; end; pragma Inline (Some_Maps); Maps : Maps_T;begin Maps := Some_Maps; for I in Maps.M1'Range loop if (I mod 2 = 0 and then not Maps.M1 (I)) or else (I mod 2 /= 0 and then Maps.M1 (I)) then raise Program_Error; end if; end loop;end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?