🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++.bug
Article #103

g++-2.2.2 dies on correct code with virtual inheritance

#103
From: Stephen Tweedie
Date: Tue, 21 Jul 1992 16:57
36 lines
1814 bytes
g++-2.2.2 on a sun 4 (sunos4.1) dies with a fatal signal 11 trying to
take the address of a reference on the following code:

----------------------------------------------------------------
class A
{
  public:
    A *a;
};

class AA : virtual public A        // Works OK if "virtual" deleted
{
  public:
    AA& foo()
    {
        return *this;
    };
};

main ()
{
    AA aa;
    aa.foo().a = &aa;            // This line compiles OK
    aa.a = &aa.foo();            // And this one.
    aa.foo().a = &aa.foo();      // Nope - internal compiler error.
}
----------------------------------------------------------------
Compiler output follows:
% g++-2.2.2 -v -c sbug3.cc
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.2.2/specs
gcc version 2.2.2
 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.2.2/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__sparc -D__sun -D__unix sbug3.cc /usr/tmp/cca01028.i
GNU CPP version 2.2.2 (sparc)
 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.2.2/cc1plus /usr/tmp/cca01028.i -quiet -dumpbase sbug3.cc -version -o /usr/tmp/cca01028.s
GNU C++ version 2.2.2 (sparc) compiled by GNU C version 2.2.2.
/usr/local/bin/gcc-2.2.2: Internal compiler error: program cc1plus got fatal signal 11
Technical Details
Message-ID: <SCT.92Jul21175745@carna.dcs.ed.ac.uk>
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!dcs.ed.ac.UK!sct

Show Full Headers
Complete Article Headers
Newsgroups: gnu.g++.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!dcs.ed.ac.UK!sct
From: sct@dcs.ed.ac.UK (Stephen Tweedie)
Subject: g++-2.2.2 dies on correct code with virtual inheritance
Message-ID: <SCT.92Jul21175745@carna.dcs.ed.ac.uk>
Sender: gnulists@ai.mit.edu
Organization: University of Edinburgh Dept. of Computer Science, Scotland
Distribution: gnu
Date: Tue, 21 Jul 1992 16:57:45 GMT
Approved: bug-g++@prep.ai.mit.edu
Lines: 37