Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!munnari.oz.au!manuel!csis!dave From: dave@csis.dit.csiro.au (David Campbell) Newsgroups: comp.sys.amiga.programmer Subject: ANOTHER SAS C BUG Message-ID: <1991Mar31.035009.13183@csis.dit.csiro.au> Date: 31 Mar 91 03:50:09 GMT Organization: csis.dit.csiro.au Lines: 50 /* Here is some source which demonstrates a bug in the SAS C compiler */ #include char *str="hello\n"; main() { char *ptr; ptr = str; *ptr = '\001' + *ptr++; printf(str); } /* Should print "iello" through the incrementing of str[0] Instead prints "hillo" EXTERNAL DEFINITIONS _main 0000-00 _str 0008-01 SECTION 00 "latbug.c" 00000028 BYTES | 0000 4E55 FFF8 LINK A5,#FFF8 | 0004 BFEC 0000-XX.2 CMPA.L __base(A4),A7 | 0008 6500 0000-XX.1 BCS.W __xcovf | 000C 2F0B MOVE.L A3,-(A7) | 000E 266C 0008-01.2 MOVEA.L 01.00000008(A4),A3 | 0012 101B MOVE.B (A3)+,D0 | 0014 5200 ADDQ.B #1,D0 | 0016 1680 MOVE.B D0,(A3) | 0018 2F2C 0008-01.2 MOVE.L 01.00000008(A4),-(A7) | 001C 4EBA 0000-XX.1 JSR _printf(PC) | 0020 266D FFF4 MOVEA.L FFF4(A5),A3 | 0024 4E5D UNLK A5 | 0026 4E75 RTS SECTION 01 "__MERGED" 0000000C BYTES 0000 68 65 6C 6C 6F 0A 00 00 hello... 0008 00000000-01 01.00000000 */ -- dave campbell