Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!UUNET.UU.NET!infbs!petri%tubsibr From: infbs!petri%tubsibr@UUNET.UU.NET (Stefan Petri) Newsgroups: gnu.gcc.bug Subject: (none) Message-ID: <8910240118.AA24587@jupiter> Date: 24 Oct 89 01:18:56 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 42 While compiling src/invent.c o Nethack3.0, patchlevel 5, I encountered a gcc-bug. The offending piece of code boils down to the following : (It is the original gcc-1.36 with the insn-not-recognizable-patches from jonathan@comp.vuw.ac.nz and the recent speedup-and-save-space patches from tege@sics.SE) petri@jupiter 157 > gcc -v -Wall -c gcc-bug.c gcc version 1.36 /usr/local/lib/gcc-cpp -v -undef -D__GNUC__ -Dpyr -Dunix -D__pyr__ -D__unix__ - Wall gcc-bug.c /usr/tmp/cc024538.cpp GNU CPP version 1.36 /usr/local/lib/gcc-cc1 /usr/tmp/cc024538.cpp -quiet -dumpbase gcc-bug.c -Wall - version -o /usr/tmp/cc024538.s GNU C version 1.36 (pyr) compiled by GNU C version 1.36. default target switches: -munix -mindex -mgnu-stdarg gcc: Program cc1 got fatal signal 4. petri@jupiter 158 > int foo() { char c; return (c ^ 30 ) > (c ^ 40 ); /* these also get the signal : return (c ^ 30 ) == (c ^ 40 ); return ((int)c ^ 30 ) > (c ^ 40 ); these are ok : return (c + 30 ) > (c ^ 40 ); return (c ^ 30 ) > (c + 40 ); return (c ^ 30 ) + (c ^ 40 ); return ('a' ^ 30 ) > (c ^ 40 ); return (c ^ 40 ); return (c ^ 30 ) > (c ^ 40 ); */ } S.P. -- P.S.: sorry, matrx!huey!cindy@MCNC.ORG (Cindy Miller), I just forgot to post my 72K of originial cpp-output ;-)