From: SourceForge.net <no...@so...> - 2010-07-26 19:09:24
|
Bugs item #3034858, was opened at 2010-07-26 12:09 Message generated for change (Tracker Item Submitted) made by davidegrayson You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3034858&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: C-Front End Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: David Grayson (davidegrayson) Assigned to: Nobody/Anonymous (nobody) Summary: Fatal compiler internal error when using & with * Initial Comment: The following code fails to compile for me: void a(unsigned char * b); void main() { a(&(*(unsigned char *)0)); } The code above is in a file called test.c (attached below). I invoked sdcc with the command `sdcc -c test.c`. My sdcc -v is: SDCC : mcs51/gbz80/z80/ds390/pic16/pic14/TININative/ds400/hc08 2.9.7 #5891 (Jul 26 2010) (MINGW32) I am running Windows Vista 64-bit, Service Pack 1. The error message I get from SDCC is: test.c:4: error 9: FATAL Compiler Internal Error in file '/home/sdcc-builder/build/sdcc-build/orig/sdcc/src/SDCCicode.c' line number '1401' : operandOperation invalid operator Contact Author with source code Assertion failed: 0, file /home/sdcc-builder/build/sdcc-build/orig/sdcc/src/SDCCicode.c, line 1403 This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. Caught signal 22: SIGABRT The only workaround I know of is to remove the unary address (&) and dereference (*) operators. P.S. Thank you for fixing the last bug I reported, I really appreciate it! ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3034858&group_id=599 |