I retested this with a newer build of SDCC and it still reports a syntax error, but the warning about a missing return type appears to have been fixed:

~/optional-ts/examples $ sdcc -c --std=c23 3916.c
3916.c:2: error 1: Syntax error, declaration ignored at ')'
Internal error: validateLink failed in SPEC_NOUN(p) @ SDCCsymt.c:706: expected SPECIFIER, got null-link
~/optional-ts/examples $ sdcc -c --std=c23 --stack-auto 3916.c
3916.c:2: error 1: Syntax error, declaration ignored at ')'
Internal error: validateLink failed in SPEC_NOUN(p) @ SDCCsymt.c:706: expected SPECIFIER, got null-link
~/optional-ts/examples $ sdcc -v
SDCC : mcs51/z80/z180/r2k/r2ka/r3ka/r4k/r5k/r6k/sm83/tlcs90/ez80/z80n/r800/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15/mos6502/mos65c02/f8/f8l TD- 4.5.24 #16456 (Mac OS X ppc)
published under GNU General Public License (GPL)

(I'm not sure what the validateLink error is about.)