Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!hplabs!hp-pcd!hpcvca!stan From: stan@hpcvca.CV.HP.COM (Stan Gibbs) Newsgroups: comp.sys.amiga.tech Subject: Re: Another Manx v3.6 bug Message-ID: <1410020@hpcvca.CV.HP.COM> Date: 14 Jun 89 15:47:13 GMT References: <14395@watdragon.waterloo.edu> Organization: Hewlett-Packard Co., Corvallis, Oregon Lines: 47 In <14395@watdragon.waterloo.edu> ehoogerbeets@rose.waterloo.edu (Edwin Hoogerbeets) writes: >> Speaking of Gnu code, here is another Manx bug: >> >> main() >> { >> char *list; >> char c; >> >> c = '8'; >> >> list = &c; >> >> c = ( list , *list ); >> } >> >> [ ... erroneous assembler code ... ] >> >> Edwin Here's how Lattice 5.02 handles it: _main 0000-00 SECTION 00 "test.c" 00000020 BYTES ; 1: void ; 2: main() ; 3: { | 0000 4E 55 FF FA LINK A5,#FFFA ; 4: char *list; ; 5: char c; ; 6: c = '8'; | 0004 1B 7C 00 38 FF FB MOVE.B #38,FFFB(A5) ; 7: list = &c; | 000A 41 ED FF FB LEA FFFB(A5),A0 | 000E 2B 48 FF FC MOVE.L A0,FFFC(A5) ; 8: c = (list,*list); | 0012 20 6D FF FC MOVEA.L FFFC(A5),A0 | 0016 1B 50 FF FB MOVE.B (A0),FFFB(A5) ; 9: } | 001A 4E 5D UNLK A5 | 001C 4E 75 RTS Seems much more straight forward. Stan.