2026-10-08 Philipp Klaus Krause * src/z80/peeph-sm83.def, src/z80/peeph.def: Remove some untested (i.e. they apply for no regression test) peephole optimizer rules suspected to be broken. 2026-10-08 Philipp Klaus Krause * src/z80/peeph.def, support/regression/tests/bug-4115.c: Fix bug #4115 (the reproducible part). 2026-10-08 Philipp Klaus Krause * src/SDCCval.c: Adjust function parameters to pointers before qualifier checking and symbol binding, fixing indirect calls (bug #3028, related to #3358), patch by Christopher Bazley. * support/regression/tests/bug-3028.c, support/valdiag/tests/bug-3028.c: Test named and unnamed parameters, redeclarations, calls and _Optional, patch by Christopher Bazley. 2026-10-08 Philipp Klaus Krause * src/SDCCast.c, src/SDCCerr.c, src/SDCCerr.h, support/regression/tests/typeof.c, support/valdiag/tests/bug-4000.c: Fix bug #4000, patch by Christopher Bazley. 2026-10-07 Philipp Klaus Krause * src/SDCCast.c, src/SDCCicode.c, src/SDCCicode.h, src/SDCCopt.c, src/SDCCsymt.c, src/SDCCsymt.h, support/valdiag/tests/bug-3953.c, support/valdiag/tests/bug-4006.c: Check referenced qualifiers after expression decay on assignments and returns (bug #4006). Avoid repeating incompatible-type diagnostics. Remove the late iCode qualifier checker and unused restrict-loss flag. Patch by Christopher Bazley. 2026-10-07 Philipp Klaus Krause * src/SDCCast.c, src/SDCCicode.c, src/SDCCsymt.c, src/SDCCsymt.h, support/regression/tests/bug-4005.c, support/valdiag/tests/_Optional-draft-2026-04-17.c: Centralise expression array decay and remove _Optional from its referenced element type (bug #4005), patch by Christopher Bazley. 2026-10-07 Gabriele Gorla * sdas/as8051/i51mch.c, sdas/asf8/f8adr.c, sdas/asgb/gb.h, sdas/asxxsrc/asexpr.c, sdas/asxxsrc/asmain.c, sdas/asxxsrc/asout.c, sdas/asxxsrc/asxxxx.h, sdas/asz80/z80mch.c: Update the "A_" area constants to match upstream asxxxx. 2026-10-07 Philipp Klaus Krause * support/regression/tests/bug-4002.c, support/valdiag/tests/_Optional-draft-2026-04-17.c, support/valdiag/tests/bug-4002.c: Tests for bug #4002 (which was fixed along with #4003 earlier today), patch by Christopher Bazley. 2026-10-07 Philipp Klaus Krause * src/SDCC.y, src/SDCCast.c, src/SDCCast.h, src/SDCCcse.c, src/SDCCicode.c, src/SDCCicode.h, src/SDCCopt.c: Record non-null checks for arithmetic and dereferences in diagnostic-only iCode (bug #4003). Replace operand semantic- dereference markers and deferred deletion from the preliminary fix; Diagnose after value analysis and remove checks before loop optimisation, without an extra CSE pass that can introduce spills, patch by Christopher Bazley. * support/regression/tests/bug-4003.c, support/valdiag/tests/bug-4003.c: Test folding, guards, discarded operations and single evaluation, patch by Christopher Bazley. 2026-10-07 Philipp Klaus Krause * src/SDCCast.c, src/SDCCsymt.c, src/SDCCsymt.h: Diagnose incompatible implicit pointer conversions (bug #3952). Compare types without object storage metadata, check function return types and restore parameter comparison in compareTypeExact, patch by Christopher Bazley. Print pointer type details only when warning 244 is emitted. * support/valdiag/tests/bug-3952.c, support/valdiag/tests/function-type-parameters.c, support/regression/tests/function-type-parameters.c: Add diagnostic and runtime coverage, patch by Christopher Bazley. * support/valdiag/tests/bug-4004.c, support/valdiag/tests/pointers.c: Update diagnostic expectations, patch by Christopher Bazley. * support/regression/tests/p99-conformance.c: Suppress expected warning 244 without changing the tested code, patch by Christopher Bazley. 2026-10-07 Philipp Klaus Krause * src/SDCCsymt.c, support/valdiag/tests/bug-4094.c,