_alloca is not part of msvcrt (and therefore not found if used), and tcc has an internal implementation for alloca for x86[_64] since d778bde7 - initally as _alloca and later changed to alloca. Use it instead.
Unified · Split
| @@ -82,7 +82,13 @@ extern "C" { · 81 unmodified lines | |||
| 82 | #undef _alloca | 82 | #undef _alloca |
| 83 | #define _alloca(x) __builtin_alloca((x)) | 83 | #define _alloca(x) __builtin_alloca((x)) |
| 84 | #else | 84 | #else |
| 85 | void *__cdecl _alloca(size_t _Size); | 85 | /* tcc implements alloca internally and exposes it (since commit d778bde7). |
| 86 | /* alloca is declared at include/stddef.h (which is distributed with tcc). | ||
| 87 | */ | ||
| 88 | #ifdef _alloca | ||
| 89 | #undef _alloca | ||
| 90 | #endif | ||
| 91 | #define _alloca(x) alloca((x)) | ||
| 86 | #endif | 92 | #endif |
| 87 | _CRTIMP size_t __cdecl _get_sbh_threshold(void); | 93 | _CRTIMP size_t __cdecl _get_sbh_threshold(void); |
| 88 | _CRTIMP int __cdecl _set_sbh_threshold(size_t _NewValue); | 94 | _CRTIMP int __cdecl _set_sbh_threshold(size_t _NewValue); |