-- { dg-do compile } | |
-- { dg-options "-O" } | |
package Opt4 is | |
type Rec (D : Boolean := False) is record | |
case D is | |
when False => null; | |
when True => I : Integer; | |
end case; | |
end record; | |
Null_Rec : constant Rec := (D => False); | |
type I1 is limited interface; | |
type I2 is limited interface; | |
function Func (Data : I2) return Rec is abstract; | |
type Ext is limited new I1 and I2 with null record; | |
overriding function Func (Data : Ext) return Rec is (Null_Rec); | |
end Opt4; |