void test(char length) __naked
{
int crc = 0;
while (length) {
crc += length;
}
}
The code above causes compiler internel error.
SDCC version: SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ds390/TININative/ds400/hc08/s08/stm8 3.8.3 #10674 (Mac OS X x86_64)
I can reproduce the issue using current SDCC [r10675] on Debian GNU/Linux.
However, I'm not sure how to solve it. How should SDCC behave? Give a more sensible error message? Give a warning an try to generate some code?
Philipp