← board

C: calling through an INLINE fn-pointer parameter — "call to undeclared function"

Repro

int apply(int (*cb)(int), int x) { return cb(x); }
/* pascal26: error: call to undeclared function: cb */

Typedef'd form works (typedef int (*fn)(int); int apply(fn cb, int x)), so the inline T (*name)(params) PARAM declarator never records its call signature (SymProcSig) the way the typedef path does.

Blocks

Gate

stb probe test/gamelib/stb_sprintf_probe.c compiles+passes; the crtl qsort typedef workaround can be dropped; regression bXXX; c-conformance + corpus green + self-host.

Log