Looks good to me (though I'm not a ds390 expert). I wonder if adjustStack could be made slightly more efficient by doing "sp += -n" instead of "sp -= n", since addition is a bit cheaper than subtraction. But that would be an optimisation, and IMO the patches could also go in as-is.
Looks good to me (though I'm not a ds390 expert). I wonder if adjustStack could be made slightly more efficient by doing "sp += -n" instead of "sp -= n", since addition is a bit cheaper than subtraction. But that would be an optimisation, and IMO the patch could also go in as-is.
PIC16/PIC18 libsdcc build fails because _mullonglong.c unnecessarily includes stdbit.h
I don't think it is intentional. Rather just some missing bits somewhere, that weren't important enough (i.e. didn't affect a use-case that was looked into in detail).
I've tried the patch, and see pdk regression tests failing with it applied: Summary for 'pdk14' : 6 failures, 15132 tests, 6340 test cases, 2638463 bytes, 25285826 ticks Failure: cases/bug-3040/bug-3040_type_signed_int.c Failure: cases/bug-3040/bug-3040_type_signed_long.c Failure: cases/bug-3040/bug-3040_type_signed_long_long.c Failure: cases/bug-3040/bug-3040_type_unsigned_int.c Failure: cases/bug-3040/bug-3040_type_unsigned_long.c Failure: cases/bug-3040/bug-3040_type_unsigned_long_long.c Summary...
I can reproduce the bug using sdcc built from current trunk compiling for STM8 on my Debian GNU/Linux testing system.
Looks good to me.
This fix looks good to me.