From ab8422c8e72f347230e61826198d08f8e1cdcdad Mon Sep 17 00:00:00 2001 From: "Avi Halachmi (:avih)" Date: Sun, 19 Jun 2016 09:48:14 +0300 Subject: [PATCH] win32: malloc.h: use alloca instead of (missing) _alloca _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. --- win32/include/malloc.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/win32/include/malloc.h b/win32/include/malloc.h index 87f1868..fc783a8 100644 --- a/win32/include/malloc.h +++ b/win32/include/malloc.h @@ -82,7 +82,13 @@ extern "C" { #undef _alloca #define _alloca(x) __builtin_alloca((x)) #else - void *__cdecl _alloca(size_t _Size); + /* tcc implements alloca internally and exposes it (since commit d778bde7). + /* alloca is declared at include/stddef.h (which is distributed with tcc). + */ +#ifdef _alloca +#undef _alloca +#endif +#define _alloca(x) alloca((x)) #endif _CRTIMP size_t __cdecl _get_sbh_threshold(void); _CRTIMP int __cdecl _set_sbh_threshold(size_t _NewValue);