From: SourceForge.net <no...@so...> - 2012-12-31 14:29:03
|
Bugs item #3599010, was opened at 2012-12-31 06:08 Message generated for change (Comment added) made by tecodev You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3599010&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: pic14 target >Group: fixed >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Raphael Neider (tecodev) Assigned to: Raphael Neider (tecodev) Summary: [pic14] Bad code generated for "+ 0x102" Initial Comment: As reported by feqin fan on sdcc-devel on 2012-12-31 (found a magic number 0x102----sdcc PIC14 PORT) and confirmed by Gál Zsolt, the following code lacks code for the "+ 0x102" part when compiled with the current svn head: #include"pic16f887.h" void main() { int i, temp = 0x100; for (i=0 ;i<10; i++) { temp = temp + 0x102; // this will be disappear magically. // I mean the number 0x102 will NOT be added to the temp. // if the number is other besides 0x102, everything is all right PORTA = temp; // I konwn only the low 8 bit will be used. } } ---------------------------------------------------------------------- >Comment By: Raphael Neider (tecodev) Date: 2012-12-31 06:29 Message: Fixed in #8321. The function src/pic14/genarith.c(genAddLit) for generating code to add literals to 16-bit integers is still 340 lines of special cases and likely to contain further bugs. It should probably be rewritten... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3599010&group_id=599 |