abstract_with_anonymous_result.adb

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

ADB
38
字号
-- { dg-do run }procedure Abstract_With_Anonymous_Result is   package Pkg is      type I is abstract tagged null record;      type Acc_I_Class is access all I'Class;      function Func (V : I) return access I'Class is abstract;      procedure Proc (V : access I'Class);      type New_I is new I with null record;      function Func (V : New_I) return access I'Class;   end Pkg;   package body Pkg is      X : aliased New_I;      procedure Proc (V : access I'Class) is begin null; end Proc;      function Func (V : New_I) return access I'Class is      begin         X := V;         return X'Access;      end Func;   end Pkg;   use Pkg;   New_I_Obj : aliased New_I;   procedure Proc2 (V : access I'Class) is   begin      Proc (Func (V.all));  -- Call to Func causes gigi abort 122   end Proc2;begin   Proc2 (New_I_Obj'Access);end Abstract_With_Anonymous_Result;

⌨️ 快捷键说明

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