Path: utzoo!utgpu!watmath!uunet!tut.cis.ohio-state.edu!UUNET.UU.NET!island!M4!derek From: island!M4!derek@UUNET.UU.NET (Derek Clegg) Newsgroups: gnu.gcc.bug Subject: gcc fails `cmp' test with new `loop.c' Message-ID: <8905101624.AA16277@M4.island.uucp> Date: 10 May 89 16:24:54 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 83 Richard Stallman: Recently I sent a bug report concerning spurious warning messages in gcc version 1.35. The program was static inline int bar(int a, int b, int c) { return (a + b + c); } void foo(unsigned char *x, char *y, int w) { while (--w >= 0) *y++ = bar(*x, 0, 0); } and the warning was "... `a' may be used uninitialized in this function." You courteously responded with a replacement for `loop.c'. Recompiling `gcc' with this file results in different object code produced by stage1/gcc and stage2/gcc. An example is reproduced below. `gcc' was compiled with `config.gcc sun3-os4'. I am using a Sun 3/60 with UNIX 4.2 (Sun release 4.0.1). Derek B Clegg ({uunet,ucbcad,sun}!island!derek) [gcc-1.35-1] cmp jump.o stage2/jump.o jump.o stage2/jump.o differ: char 8, line 1 [gcc-1.35-2] stage1/gcc -Bstage1/ -v -S -O -g -I./config jump.c -o jump-1.s gcc version 1.35 stage1/cpp -v -I./config -undef -D__GNUC__ -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 jump.c /tmp/cca27777.cpp GNU CPP version 1.35 stage1/cc1 /tmp/cca27777.cpp -quiet -dumpbase jump.c -g -O -version -o jump-1.s GNU C version 1.35 (68k, MIT syntax) compiled by CC. [gcc-1.35-3] stage2/gcc -Bstage2/ -v -S -O -g -I./config jump.c -o jump-2.s gcc version 1.35 stage2/cpp -v -I./config -undef -D__GNUC__ -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 jump.c /tmp/cca27780.cpp GNU CPP version 1.35 stage2/cc1 /tmp/cca27780.cpp -quiet -dumpbase jump.c -g -O -version -o jump-2.s GNU C version 1.35 (68k, MIT syntax) compiled by GNU C version 1.35. [gcc-1.35-4] diff -c2 jump-1.s jump-2.s *** jump-1.s Tue May 9 13:45:07 1989 --- jump-2.s Tue May 9 13:45:39 1989 *************** *** 2921,2936 **** .stabd 68,0,1529 moveb a2@(a5:l),d0 ! cmpb #101,d0 jeq L419 ! jgt L431 ! cmpb #48,d0 jeq L413 ! cmpb #69,d0 jeq L422 jra L429 L431: ! cmpb #105,d0 jeq L415 ! cmpb #115,d0 jeq L417 jra L429 --- 2921,2944 ---- .stabd 68,0,1529 moveb a2@(a5:l),d0 ! extbl d0 ! moveq #101,d3 ! cmpl d0,d3 jeq L419 ! moveq #101,d3 ! cmpl d0,d3 ! jlt L431 ! moveq #48,d3 ! cmpl d0,d3 jeq L413 ! moveq #69,d3 ! cmpl d0,d3 jeq L422 jra L429 L431: ! moveq #105,d3 ! cmpl d0,d3 jeq L415 ! moveq #115,d3 ! cmpl d0,d3 jeq L417 jra L429