chatty%FRLRI61.BITNET@CUNYVM.CUNY.EDU (03/21/89)
Our g++ 1.33 gets signal 6 on Sun 3, Sun 4, and HP when it encounters some kind of redefined classes. Here is the minimum code we found to trigger the bug : class STRING { public : STRING (char*); STRING (int); STRING (STRING&); }; class STRING { public : STRING (char*); STRING (int); // no error at all when suppressed }; hp2-> g++ -v -c String.cc g++ version 1.33.0 /usr/local/lib/gcc-cpp -+ -v -undef -D__GNU__ -D__GNUG__ -Dhp9000s200 -Dhp9000s300 -DPWB -Dmc68k -Dhpux -Dunix -D__hp9000s200__ -D__hp9000s300__ -D__PWB__ -D__mc68k__ -D__hpux__ -D__unix__ -D__HAVE_68881__ -D__HPUX_ASM__ String.cc /tmp/cca09066.cpp GNU CPP version 1.34 /usr/local/lib/gcc-c++ /tmp/cca09066.cpp -quiet -dumpbase String.cc -noreg -version -o /tmp/cca09066.s GNU C++ version 1.33.0 (68k, SGS/hpux syntax) compiled by GNU C version 1.34. Failed assertion t != op2 at line 766 of `tree.c'. g++: Program c++ got fatal signal 6. The message is slightly different when cross-compiling on a Sparc : g++ -v String.cc g++ version 1.33.0 /usr/local/lib/gcc68k/cpp -+ -v -undef -D__GNU__ -D__GNUG__ -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -Dmc68020 String.cc /tmp/cca01645.cpp GNU CPP version 1.33 /usr/local/lib/gcc68k/c++ /tmp/cca01645.cpp -quiet -dumpbase String.cc -noreg -version -o /tmp/cca01645.s GNU C++ version 1.33.0 (68k, MIT syntax) compiled by CC. Failed assertion at __LINE__ 766 of `tree.c'. g++: Program c++ got fatal signal 6. While trying to reduce that code, we discovered that g++ finds no error when the second constructor of the second class is not there. Hope that will help ... Yves Berteaud yb@lri.lri.fr Stephane Chatty chatty@lri.lri.fr