2026-08-09 Maarten Brock * device/lib/ds390/Makefile.in: removed atomic_flag_test_and_set * device/lib/ds390/atomic_flag_test_and_set.c: deleted, is generated * device/lib/ds390/__sdcc_atomic_maybe_rollback.c: removed double underscore to move out of C name space * src/ds390/gen.c (genEndFunction): added call to sdcc_atomic_maybe_rollback, do not generate epilogue for noreturn function * src/ds390/main.c: generate _atomic_flag_test_and_set * support/regression/tests/bug-3997.c: fixed warning 322 * support/regression/tests/gcc-torture-execute-loop-2c.c, * support/regression/tests/gcc-torture-execute-loop-2d.c: suppress warning 322 2026-08-08 Maarten Brock * device/lib/mcs51/atomic_flag_test_and_set.asm: deleted, is generated * device/lib/mcs51/Makefile.in: removed atomic_flag_test_and_set * device/lib/bpx.c, device/lib/_bpx.c: renamed for consistency * device/lib/Makefile.in: renamed bpx to _bpx * support/regression/tests/bug1678803.c, * support/regression/tests/bug1712928.c, * device/include/asm/mcs51/features.h, * device/include/mcs51/cc2530.h, * device/lib/mcs51/crtbank.asm, * doc/sdccman.lyx, * src/mcs51/gen.c (genCall, genPcall): applied modified patch #501 to add sdcc_banked_jump, thanks Oleg Endo, renamed __sdcc_banked* to sdcc_banked* to move them out of C namespace, (genFunction): renamed i to adjust/xadjust for clarity, (genEndFunction): do not generate epilogue for noreturn function * src/mcs51/peeph.def: moved rules 401.x to 410.x, added new rules 401.x from patch #501 * src/mcs51/gen.c (emitpop): accept all register forms and indirections * device/lib/_setjmp.c: optimized ds390 code, (mcs51 longjmp): bugfix, must set SP earlier for banked return to allocate stack space * support/regression/MakeList: mcs51 enabled test bug3381400, mcs51 stack-auto disabled qct_0080-arrays, due to insufficient stack space * support/regression/fwk/include/testfwk.h: add _initEmu, _exitEmu & _putchar * support/regression/fwk/lib/testfwk.c: removed _initEmu, _exitEmu & _putchar prototypes * support/regression/tests/bug3381400.c: disabled warning for this terrible code * support/regression/tests/loop.c.in: added LOW_MEMORY macro to enable testing on mcs51 large & huge * support/regression/tests/reentrant.c.in: use less recursion for mcs51 to prevent stack overflow 2026-08-07 Maarten Brock * src/SDCC.y, * src/SDCCsymt.h, * src/SDCCsymt.c (compStructSize, promoteAnonStructs): removed parameter su, use sdef->type instead 2026-08-06 Philipp Klaus Krause * Merge fuzzing branch. 2026-08-05 Philipp Klaus Krause * support/regression/Makefile.in: Fuzzing infrastructure fix. 2026-08-02 Benedikt Freisen * src/SDCCast.c, support/regression/tests/compound-literal.c: Fix compound literals in declaration initializers via patch #509 by Howard M. Harte. 2026-08-01 Maarten Brock * src/mcs51/gen.c (genUnpackDBits): added to handle bitfields in direct addressable data storgae space (genDataPointerGet): added Ifx just in case, call genUnpackDBits() for bitfields (genNearPointerGet): call genDataPointerGet() also for bitfields unless post-inc, use IPOINTER for idata * support/regression/fwk/lib/testfwk.c (__printu): bugfix buf size for >16 bit int * support/regression/tests/bug-4039.c: make inline functions static as there are no external definitions and aarch64-linux-gnu chooses not to inline 2026-07-31 Maarten Brock * support/regression/tests/bug-3393.c: fix stm8, hc08 & s08 endianness 2026-07-30 Gabriele Gorla * src/mos6502/gen.h, src/mos6502/gen.c: Really implement smarter tsxUseful(). * src/mos6502/genlshift.c, src/mos6502/genrshift.c: Minor cleanup up of shifts. * src/mos6502/gen.c: Improve genPackBits(). * src/mos6502/genrshift.c: Optimize shifts of constants. 2026-07-30 Maarten Brock