[gnu.g++.bug] failed assertion in g++ 1.36.4

metz@iamsm.iam.unibe.ch (02/07/90)

>X-Mailer: ELM [version 2.2 PL16]

Problem: Failed assertion distance >= 0 at line 1135 of `cplus-cvt.c'.
Configuration: Sparcstation 1, SunOS 4.0.3c, g++ 1.36.4, gcc 1.36.93

I get the following if I try to compile the program included below (I got g++
from labrea.stanford.edu and gcc from prep.ai.mit.edu last week):

-------------------------------------------------------------------
bolek% newg++ -v -I/usr/local/lib/1.36.4/g++-include versuch.cc
g++ version 1.36.4 (based on GCC 1.36.93)
 /usr/local/lib/1.36.4/gcc-cpp -+ -v -I/usr/local/lib/1.36.4/g++-include -undef
-D__GNUC__ -D__GNUG__ -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ versuch.cc /usr/tmp/cca04308.cpp
GNU CPP version 1.36.93
 /usr/local/lib/1.36.4/gcc-cc1plus /usr/tmp/cca04308.cpp -quiet -dumpbase versuch.cc -version -o /usr/tmp/cca04308.s
GNU C++ version 1.36.4 (based on GCC 1.36.93) (sparc) compiled by GNU C version
1.36.93.
default target switches: -mfpu -mepilogue
Failed assertion distance >= 0 at line 1135 of `cplus-cvt.c'.
newg++: Program cc1plus got fatal signal 6.
-------------------------------------------------------------------

The program
-------------------------------------------------------------------
#include <stream.h>

class A {
public:
  A() { cout << "constructing A\n"; }
  ~A() { cout << "destructing A\n"; }
};

class B : public A {
public:
  B() { cout << "constructing B\n"; }
  ~B() { cout << "destructing B\n"; }
};

class C : public A {
public:
  C() { cout << "constructing C\n"; }
  ~C() { cout << "destructing C\n"; }
};

class D : public C, public A {
public:
  D() { cout << "constructing D\n"; }
  ~D() { cout << "destructing D\n"; }
};

int main() {
  D gugus;

}

-------------------------------------------------------------------

Igor Metz                    X400: metz@iam.unibe.ch
Institut fuer Informatik     ARPA: metz%iam.unibe.ch@relay.cs.net
und angewandte Mathematik    UUCP: ..!uunet!mcsun!iam.unibe.ch!metz
Universitaet Bern            Phone: (0041) 31 65 49 90
Switzerland		     Fax:   (0041) 31 65 39 65