From: SourceForge.net <no...@so...> - 2003-11-21 18:29:27
|
Bugs item #846777, was opened at 2003-11-21 21:29 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=846777&group_id=599 Category: msc51(8051) target Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stas Sergeev (stsp) Assigned to: Nobody/Anonymous (nobody) Summary: Bad asm with gcse optimisation Initial Comment: Hi. There is a bug somewhere that makes sdcc to generate a jump to a non-existant label when gcse opt is enabled. The attached code demonstrates the bug. It is not very small: removing some lines from it makes the bug to go away, so I was not able to make a clean test-case. $ sdcc badasm.c ?ASxxxx-Error-<a> in line 458 of badasm.asm <a> machine specific addressing or addressing mode error ?ASxxxx-Error-<a> in line 506 of badasm.asm <a> machine specific addressing or addressing mode error removing badasm.rel $ sdcc -v SDCC : mcs51/gbz80/z80/avr/ds390/pic14/pic16/TININative/xa51/ds400/hc08 2.3.6 (Nov 21 2003) (UNIX) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=846777&group_id=599 |
From: SourceForge.net <no...@so...> - 2003-11-26 07:48:56
|
Bugs item #846777, was opened at 2003-11-21 12:29 Message generated for change (Comment added) made by epetrich You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=846777&group_id=599 Category: msc51(8051) target >Group: fixed >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Stas Sergeev (stsp) >Assigned to: Erik Petrich (epetrich) Summary: Bad asm with gcse optimisation Initial Comment: Hi. There is a bug somewhere that makes sdcc to generate a jump to a non-existant label when gcse opt is enabled. The attached code demonstrates the bug. It is not very small: removing some lines from it makes the bug to go away, so I was not able to make a clean test-case. $ sdcc badasm.c ?ASxxxx-Error-<a> in line 458 of badasm.asm <a> machine specific addressing or addressing mode error ?ASxxxx-Error-<a> in line 506 of badasm.asm <a> machine specific addressing or addressing mode error removing badasm.rel $ sdcc -v SDCC : mcs51/gbz80/z80/avr/ds390/pic14/pic16/TININative/xa51/ds400/hc08 2.3.6 (Nov 21 2003) (UNIX) ---------------------------------------------------------------------- >Comment By: Erik Petrich (epetrich) Date: 2003-11-26 01:48 Message: Logged In: YES user_id=635249 The code generator was getting confused by the and/pop/ifx iCode sequence when it was expecting and/ifx. Fixed for both and & or in the mcs51 & ds390 code generators with: src/ds390/gen.c 1.207 src/ds390/peeph.def 1.24 src/mcs51/gen.c 1.185 src/mcs51/peeph.def 1.32 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=846777&group_id=599 |