This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/35796] New: Order of progenitors in interface composition: segfault when initializing object of class-wide type.
- From: "prog at msobczak dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Apr 2008 07:31:26 -0000
- Subject: [Bug ada/35796] New: Order of progenitors in interface composition: segfault when initializing object of class-wide type.
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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