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