[Bug ada/35796] New: Order of progenitors in interface composition: segfault when initializing object of class-wide type.
prog at msobczak dot com
gcc-bugzilla@gcc.gnu.org
Wed Apr 2 07:32:00 GMT 2008
Note: This bug *can* be related to 35791 (they can have the same source).
procedure A is
type Base_1 is interface;
type Base_2 is interface;
type Middle is interface and Base_1 and Base_2;
type Derived is new Middle with null record;
function Make_Derived return Derived is
begin
return Derived' (others => <>);
-- alternatively:
-- return (null record);
end Make_Derived;
D : Base_2'Class := Make_Derived;
begin
null;
end;
The program compiles fine, but crashes with segmentation fault at runtime
(after a couple of seconds).
Note: The type of variable D names the second progenitor in the definition of
Middle interface. Aftr changing it to Base_1 (or changing the order of
progenitors in the definition of Middle) the program works fine.
--
Summary: Order of progenitors in interface composition: segfault
when initializing object of class-wide type.
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: prog at msobczak dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35796
More information about the Gcc-bugs
mailing list