Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!MCC.COM!rfg From: rfg@MCC.COM (Ron Guilmette) Newsgroups: gnu.g++.bug Subject: BUG in G++ 1.35-.0- (b048) Message-ID: <8905032136.AA20881@riunite.aca.mcc.com> Date: 3 May 89 21:36:46 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 87 The following source file causes G++ 1.35-.0-/Sun3 to SEGFAULT. ----------------------------------------------------------------------- // Check that it is illegal to declare unary operators with // more than one formal argument (for global operators) or more // than zero formal arguments (for member operators). Check // type conversions as well as normal operators. struct st { int member; }; // Unary + could be binary //int operator + (st st1, st st2); // unary - could be binary //int operator - (st st1, st st2); // unary & could be binary //int operator & (st st1, st st2); // unary * could be binary //int operator * (st st1, st st2); int operator ~ (st st1, st st2); // ERROR int operator ! (st st1, st st2); // ERROR int operator ++ (st st1, st st2); // ERROR int operator -- (st st1, st st2); // ERROR int operator ( ) (st st1, st st2); // ERROR int operator -> (st st1, st st2); // ERROR void* operator new (st st1, st st2); // ERROR void operator delete (st st1, st st2); // ERROR int operator int (st st1, st st2); // ERROR st operator st (st st1, st st2); // ERROR struct base { // Unary + could be binary //int operator + (st st2); // unary - could be binary //int operator - (st st2); // unary & could be binary //int operator & (st st2); // unary * could be binary //int operator * (st st2); int operator ~ (st st2); // ERROR int operator ! (st st2); // ERROR int operator ++ (st st2); // ERROR int operator -- (st st2); // ERROR int operator ( ) (st st2); // ERROR int operator -> (st st2); // ERROR void* operator new (st st2); // ERROR void operator delete (st st2); // ERROR int operator int (st st2); // ERROR st operator st (st st2); // ERROR base operator base (st st2); // ERROR }; ----------------------------------------------------------------------- /usr/local/src/src/g++/build/sun3/1.35-.0-.0/g++ -B/usr/local/src/src/g++/build/sun3/1.35-.0-.0/ -Wall -Wwrite-strings -g -S -v b048.C g++ version 1.35.0-.0 /usr/local/src/src/g++/build/sun3/1.35-.0-.0/cpp -+ -v -undef -D__GNU__ -D__GNUG__ -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -Wall -D__HAVE_68881__ -Dmc68020 b048.C /tmp/cca20861.cpp GNU CPP version 1.35.0-.0 /usr/local/src/src/g++/build/sun3/1.35-.0-.0/c++ /tmp/cca20861.cpp -quiet -dumpbase b048.C -Wall -Wwrite-strings -noreg -version -G -o b048.s /usr/local/src/src/g++/build/sun3/1.35-.0-.0/g++: Program c++ got fatal signal 11.