[LLVMbugs] [Bug 1746] New: llvm-gcc crash with virtual base classes

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri Oct 26 17:09:08 PDT 2007


http://llvm.org/bugs/show_bug.cgi?id=1746

           Summary: llvm-gcc crash with virtual base classes
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: dalej at apple.com
                CC: llvmbugs at cs.uiuc.edu


The following crash occurs in several g++ tests.  Seems to be connected with
virtual base classes.
class C0
{ public: int i0; };
class C1
 : public C0
{ public: int i1; };
class C2
 : public C1
 , virtual public C0
{ public: int i2; };
class C3
 : public C1
 , public C2
 , virtual public C0
{ public: int i3; };
class C4
 : virtual public C1
 , virtual public C0
 , virtual public C3
 , public C2
{ public: int i4; };
extern void foo4(C4&, int);
main() {
  C4 c4;
  foo4(c4, 404);
}
now what? llvm-g++ ooo.cpp
ooo.cpp:9: warning: direct base 'C0' inaccessible in 'C2' due to ambiguity
ooo.cpp:14: warning: direct base 'C1' inaccessible in 'C3' due to ambiguity
ooo.cpp:14: warning: direct base 'C0' inaccessible in 'C3' due to ambiguity
ooo.cpp:20: warning: direct base 'C1' inaccessible in 'C4' due to ambiguity
ooo.cpp:20: warning: direct base 'C0' inaccessible in 'C4' due to ambiguity
ooo.cpp:20: warning: direct base 'C2' inaccessible in 'C4' due to ambiguity
../../llvm-gcc-4.0/gcc/llvm-types.cpp:1700: failed assertion `LLVMStructSize <
GCCTypeSize && "LLVM type size doesn't match GCC type size!"'
ooo.cpp: In constructor 'C4::C4()':
ooo.cpp:20: internal compiler error: Abort trap


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list