From: SourceForge.net <no...@so...> - 2003-11-15 05:42:49
|
Bugs item #564598, was opened at 2002-06-04 16:24 Message generated for change (Comment added) made by epetrich You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=564598&group_id=599 Category: None >Group: fixed >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: --nogcse generates incorrect code Initial Comment: When the code below is compiled using --nogcse, the variable count is not decremented in the while() statement. sdcc 2.3.0 Linux Slackware 8.0 mcs51 target //----------------- unsigned char desc_sze; unsigned char ptr; void write_usb(unsigned char dta); static void example(void) { unsigned char count = ( desc_sze < 8 ) ? desc_sze : 8; #if 1 while ( count-- ) // doesn't work { #else while ( count ) // works { count--; #endif write_usb(ptr); } } //----------------------- ---------------------------------------------------------------------- >Comment By: Erik Petrich (epetrich) Date: 2003-11-14 23:42 Message: Logged In: YES user_id=635249 This was fixed by some change after 2003-10-14, most probably the new live range code. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=564598&group_id=599 |