[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#494945: found in 4.6 with reduced source

reassign 494945 gnat-4.6
found 494945 4.6.1-5

-- There were two distinct bugs.

package P is
   type T1 is tagged null record;
   type T2 is tagged null record;
   function Func (Func_Formal : in T1'Class;
                  I           : in Integer)
               return access T2;
   procedure Proc (Proc_Formal : out T2);
end P;

--  This legal line causes a bug box.
--  4.4.6 (x86_64-pc-linux-gnu) Assert_Failure sinfo.adb:1149
--  4.6.1 (x86_64-pc-linux-gnu) Assert_Failure sinfo.adb:1240
with P; use P;
procedure Trigger1 is
   Actual : constant T1 := (null record);
   Proc (Proc_Formal => Func (Func_Formal => Actual, I => 0).all);
end Trigger1;

--  Obsessive Obfuscated Programming on Trigger1 caused another kind of
--  bug box with 4.3 and 4.4.
--  4.4.6 (x86_64-pc-linux-gnu) Assert_Failure atree.adb:884
--  4.6.1 (x86_64-pc-linux-gnu) detects the  missing body.
with P; use P;
procedure Trigger2 is
   Actual : constant T1 := (null record);
   Actual.Func (0).Proc;
end Trigger2;

Reply to: