فهرست منبع

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.
Rich Felker 13 سال پیش
والد
کامیت
d71d0805f9
1فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 4 0
      include/alloca.h

+ 4 - 0
include/alloca.h

@@ -10,6 +10,10 @@ extern "C" {
 
 void *alloca(size_t);
 
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#endif
+
 #ifdef __cplusplus
 }
 #endif