From: SourceForge.net <no...@so...> - 2012-11-26 15:46:30
|
Bugs item #3590102, was opened at 2012-11-26 07:46 Message generated for change (Tracker Item Submitted) made by jare You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3590102&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: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Jan Rejlek (jare) Assigned to: Nobody/Anonymous (nobody) Summary: (n * 1) returns only lower byte when added to pointer Initial Comment: In the following function only the lower byte of the product (n * 1) is added to the pointer. Command: sdcc -c test.c Version: 3.2.0 #8008 (Jul 6 2012) (MINGW32) __xdata struct { int i[1000]; } s; unsigned char test(unsigned n) { unsigned char b1, b2; b1 = *((unsigned char*)&s + (n * 1)); // this compiles bad b2 = *((unsigned char*)&s + n); // this compiles OK return b1 + b2; } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3590102&group_id=599 |
From: SourceForge.net <no...@so...> - 2012-11-27 07:13:53
|
Bugs item #3590102, was opened at 2012-11-26 07:46 Message generated for change (Comment added) made by epetrich You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3590102&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: common target code generation >Group: fixed >Status: Closed >Resolution: Duplicate Priority: 5 Private: No Submitted By: Jan Rejlek (jare) >Assigned to: Erik Petrich (epetrich) Summary: (n * 1) returns only lower byte when added to pointer Initial Comment: In the following function only the lower byte of the product (n * 1) is added to the pointer. Command: sdcc -c test.c Version: 3.2.0 #8008 (Jul 6 2012) (MINGW32) __xdata struct { int i[1000]; } s; unsigned char test(unsigned n) { unsigned char b1, b2; b1 = *((unsigned char*)&s + (n * 1)); // this compiles bad b2 = *((unsigned char*)&s + n); // this compiles OK return b1 + b2; } ---------------------------------------------------------------------- >Comment By: Erik Petrich (epetrich) Date: 2012-11-26 23:13 Message: Thanks for the detailed report, but this has already been fixed in 3.2.1 #8098 (and later). If you don't want to wait for the next major release, you can download recent versions from the daily snapshot page. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3590102&group_id=599 |