nested_return_test.adb

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

ADB
34
字号
-- { dg-do run }-- { dg-options "-gnata" }procedure Nested_Return_Test is   function H (X: integer) return access integer is      Local : aliased integer := (X+1);   begin       case X is         when 3 =>            begin              return Result : access integer do                  Result := new integer '(27);                  begin                     for I in 1 .. 10 loop                       result.all := result.all + 10;                     end loop;                     return;                  end;              end return;            end;         when 5 =>            return Result: Access integer do               Result := New Integer'(X*X*X);            end return;         when others =>            return null;      end case;   end;begin   pragma Assert (H (3).all = 127);   pragma Assert (H (5).all = 125);   null;end Nested_Return_Test;

⌨️ 快捷键说明

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