2026-10-30 Philipp Klaus Krause * src/pic16/gen.c, src/pic16/glue.c: pic16 long long fixes, bug #4323 via patch by zeynelsagcan. 2026-10-30 Christopher Bazley * support/valdiag/tests/c2y-control-flow-constraints.c: * support/valdiag/tests/c2y-function-definition-constraints.c: * support/valdiag/tests/c2y-static-assertion-constraints.c: * support/valdiag/tests/c2y-structure-member-constraints.c: * support/valdiag/tests/c2y-case-range-constraints.c: * support/valdiag/tests/c2y-operator-constraints.c: * support/valdiag/tests/c2y-arithmetic-constraints.c: * support/valdiag/tests/c2y-logical-constraints.c: * support/valdiag/tests/c2y-initialiser-constraints.c: * support/valdiag/tests/c2y-ucn-surrogate.c: * support/valdiag/tests/c2y-ucn-control-character.c: Add passing N3886 audit test cases for expression operands, declarations, labels, jumps, returns, function definitions, structure members, case ranges, static assertions and universal character names. Include corresponding valid cases and account for host diagnostic differences. 2026-10-29 Christopher Bazley * src/SDCCast.c (decorateType): Diagnose structure and union operands of casts to non-void types (bug #4089). * src/SDCCerr.c, src/SDCCerr.h: Add E_CAST_NONSCALAR. Clarify that E_CAST_ILLEGAL concerns the destination type, avoiding "aggregate". * support/valdiag/tests/bug-4089.c: Test structure and union operands, casts to void, and array and function decay. 2026-10-29 Christopher Bazley * src/SDCCast.c (decorateType): Diagnose casts from pointer to floating-point type (bug #4088). * src/SDCCerr.c, src/SDCCerr.h: Add E_CAST_PTR_TO_FLOAT as an error. * support/valdiag/tests/bug-4088.c: Add a test that expects an error when an expression of type int * is cast to type float. 2026-10-29 Christopher Bazley * src/SDCCval.h, src/SDCCval.c (stringInitializerTypesMatch): Compare string and destination element type compatibility, allowing ordinary character arrays and compatible wide types (bug #4189). * src/SDCCast.c (createIvalCharPtr), src/SDCCglue.c (printIvalArray): Diagnose incompatible string initialisers before reading their elements. Limit the direct-array check to scalar character and integer elements; preserve pointer-element and nested-array initialisation. * support/valdiag/tests/bug-4189.c: Check mismatched types, braces, qualifiers, typedefs and local arrays. Exercise ordinary and wide initialisers on the host, and preserve aggregate string initialisation. Select tests by language features and select compatible element types with _Generic instead of assuming compiler-specific wchar_t types. Cover incompatible L/u initialisation in both directions, at file and block scope, with and without braces, and matching wide strings. * support/regression/tests/bug-4189.c: Check element values and NUL termination in ordinary, wide, pointer and nested arrays. Use the native wide prefix and check compatible cross-prefix data where type queries are available. 2026-10-28 Christopher Bazley * src/SDCCast.c (decorateType): Diagnose struct and union controlling expressions in IFX nodes (bug #4083). (createIf): Remove the early elimination of empty if statements so that their controlling expressions are checked before optimisation. * support/valdiag/tests/bug-4083.c: Add diagnostic tests for struct and union controlling expressions in if, while, for and do statements. 2026-10-28 Maarten Brock * device/lib/free.c, * device/lib/realloc.c: fixed warnings * support/regression/tests/bug-4153.c: added test for bug #3706 2026-10-28 Philipp Klaus Krause * support/regression/tests/bug-4229.c: Fix test header for parsing by test infrastructure. 2026-10-28 Christopher Bazley * src/SDCCmain.c: Add --enable-warning to enable a numbered warning, including one disabled by default or by an earlier option. * src/SDCC.lex: Add #pragma enable_warning, sharing argument parsing with #pragma disable_warning. * doc/sdccman.lyx: Document warning enabling, option ordering and interaction with source-file pragmas. * support/valdiag/tests/enable-warning.c: Test disabling and re-enabling warning 244, which is enabled by default. Warning 212 is disabled by default but has no remaining emission sites. 2026-10-27 Gabriele Gorla * device/lib/mos-common, device/lib/mos-common/__sdcc_indirect_jsr.s, device/lib/mos-common/__sdcc_regs.s,