2026-09-06 Gabriele Gorla * sdas/linksrc/lklist.c: Remove double printing of header. 2026-09-05 Maarten Brock * device/lib/_divslonglong.c: optimized * device/lib/mcs51/crtxpopr0.asm, * device/lib/mcs51/crtxpop.asm: made register bank independent * src/mcs51/gen.c (genUminusFloat): optimized in-place uminus, (genAnd, genOr, genXor): optimized IMMEDIATE * src/mcs51/main.c (mcs51opcodeDataTable): fixed jc/jnc reads psw * src/mcs51/peeph.def: swapped rules 302 & 303, fixed volatile, more general dead mov removal * support/regression/collate-results.py: print in fixed columns for easier comparison by a human 2026-09-02 Gabriele Gorla * sdas/asxxsrc/aslist.c: Apply patch from bug #4049, Thanks Jan Andersen. * support/regression/bug-2326.c: Add regression for bug #2326. 2026-09-01 Maarten Brock * sdas/asxxsrc/asexpr.c (term), * sdas/as8051/i51adr.c (addr): moved handling of bit-addressable [n] from term() to addr() * sdas/linksrc/lklist.c: fixed warning * sdas/linksrc/lkmem.c: fixed warning * src/SDCCglue.c (glue): removed equates for b0-b7 * src/mcs51/ralloc.c, * src/ds390/ralloc.c: renamed b0 - b7 to bits[0] - bits[7] * src/mcs51/gen.c (genMinusBits): replaced conditional jump with addition same #bytes, allows optimization if some Rn==0 (genLeftShift, genSignedRightShift, genRightShift): removed redundant code * src/mcs51/main.c: made mcs51opcodeDataTable const * support/util/NewAlloc.c (Safe_strndup): fixed warning 2026-08-31 Maarten Brock * src/SDCCsymt.c (checkSClass): Put the volatile from __at on the function pointer itself, not on the function return type. Fixed bugs #4013 & #4041 by applying patch #515, Thanks Li-Hsin Chien * support/regression/tests/bug-4013.c: New regression test. 2026-08-31 Maarten Brock * sdas/as6500/r65mch.c: fixed unused variable warning * sdas/linksrc/lkarea.c: fixed uninitialized variable warning * src/mos6502/gen.c: fixed untested case warning * src/mos6502/ralloc.c: fixed unused function warning * support/regression/gte/pr17133.c, * support/regression/gte/pr21173.c, * support/regression/tests/bug-2710.c: suppress warning 178, W_SIZEOF_VOID 2026-08-30 Maarten Brock * src/SDCCmain.c: cosmetics * src/SDCCpeeph.c: renamed labelIsUncondJump to label5IsUncondJumpTo6, added mcs51 ajmp instruction * src/f8/peeph.def, * src/mcs51/peeph.def, * src/mos6502/peeph.def, * src/stm8/peeph.def, * src/z80/peeph.def: renamed labelIsUncondJump to label5IsUncondJumpTo6 * src/mcs51/peeph.def: applied patch #514, Thanks Li-Hsin Chien, inserted new 257.b moving previous 257.b-i up to 257.c-j * support/regression/tests/bug-4066.c: New regression test 2026-08-29 Philipp Klaus Krause * src/z80/peep.c: Fix bug #4062. * src/z80/gen.c: Fix a corner case of previous fix from yesterday. * src/SDCCicode.c, support/valdiag/tests/bug-4056.c: Fix bug #4056. * support/regression/tests/bug-4054.c: Test for bug #4054 (disabled for now - bug is not yet fixed). 2026-08-29 Gabriele Gorla * device/include/float.h, device/lib/huc6280/_memcmp.s, device/lib/huc6280/_memset.s, device/lib/huc6280/abs.s, device/lib/huc6280/memcpy.s, device/lib/huc6280/strlen.s, device/lib/mos6502/__stdc_bit_width.s, device/lib/mos6502/__stdc_count_ones.s, device/lib/mos6502/_floatlib.s, device/lib/mos6502/_modsint.s, device/lib/mos6502/_moduint.s, device/lib/mos6502/_modulong.s, device/lib/mos6502/abs.s, device/lib/mos6502/div.s, device/lib/mos6502/memcpy.s, device/lib/mos6502/strlen.s,