From: Rich Felker Date: Mon, 9 Apr 2012 19:06:58 +0000 (-0400) Subject: alloca cannot be a function. #define it to the gcc builtin if possible X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=commitdiff_plain;h=d71d0805f9ad4010529bb94092a2e378b4edac9a;hp=5bd0ab8af66829af74ed80cac767ce1c041fd767 alloca cannot be a function. #define it to the gcc builtin if possible gcc makes this mapping by default anyway, but it will be disabled by -fno-builtin (and presumably by -std=c99 or similar). for the main program the error will be reported by the linker, and the issue can easily be fixed, but for dynamic-loaded so files, the error cannot be detected until dlopen time, at which point it has become very obscure. --- diff --git a/include/alloca.h b/include/alloca.h index f61b817a..d2e6f1c6 100644 --- a/include/alloca.h +++ b/include/alloca.h @@ -10,6 +10,10 @@ extern "C" { void *alloca(size_t); +#ifdef __GNUC__ +#define alloca __builtin_alloca +#endif + #ifdef __cplusplus } #endif