3 ms·
Caveat re VLAs: while C23 doesn’t return VLAs to mandatory status, it does require variably modified types; so no stack space footgun but still a significant co
by mananaysiempre 4y ago
Caveat re VLAs: while C23 doesn’t return VLAs to mandatory status, it does require variably modified types; so no stack space footgun but still a significant complication in the type system:
void foo(size_t n) { int a[n][n]; }
does not have to be supported outside C99 but
void bar(size_t n, void *p) { int (*pa)[n][n] = p; }
has to be in both C99 and C23 (though not in C11 or C17).