1-- { dg-do compile } 2-- { dg-options "-gnatws" } 3 4procedure Expr_Func9 is 5 6 type Root is interface; 7 8 type Child1 is new Root with null record; 9 10 type Child2 is new Root with record 11 I2 : Integer; 12 end record; 13 14 function Create (I : Integer) return Child2 is (I2 => I); 15 16 I : Root'Class := 17 (if False 18 then Child1'(null record) 19 else 20 Create (1)); 21 22begin 23 null; 24end Expr_Func9; 25