derived_aggregate.adb

来自「用于进行gcc测试」· ADB 代码 · 共 33 行

ADB
33
字号
-- { dg-do run }-- { dg-options "-O2" }procedure Derived_Aggregate is  type Int is range 1 .. 10;  type Str is array (Int range <>) of Character;  type Parent (D1, D2 : Int; B : Boolean) is    record      S : Str (D1 .. D2);      case B is        when False => C1 : Integer;        when True =>  C2 : Float;      end case;    end record;  for Parent'Alignment use 8;  type Derived (D : Int) is new Parent (D1 => D, D2 => D, B => False);  function Ident (I : Integer) return integer is  begin     return I;  end;  Y : Derived := (D => 7, S => "b", C1 => Ident (32));begin  if Parent(Y).D1 /= 7 then    raise Program_Error;  end if;end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?