merge from gcc
[external/binutils.git] / include / libiberty.h
index c7a4d06..effe5f6 100644 (file)
@@ -238,15 +238,20 @@ extern int vasprintf PARAMS ((char **, const char *, va_list))
 /* Drastically simplified alloca configurator.  If we're using GCC,
    we use __builtin_alloca; otherwise we use the C alloca.  The C
    alloca is always available.  You can override GCC by defining
-   USE_C_ALLOCA yourself.  */
+   USE_C_ALLOCA yourself.  The canonical autoconf macro C_ALLOCA is
+   also set/unset as it is often used to indicate whether code needs
+   to call alloca(0).  */
 extern PTR C_alloca PARAMS((size_t));
 #undef alloca
 #if GCC_VERSION >= 2000 && !defined USE_C_ALLOCA
 # define alloca(x) __builtin_alloca(x)
+# undef C_ALLOCA
 #else
 # define alloca(x) C_alloca(x)
 # undef USE_C_ALLOCA
 # define USE_C_ALLOCA 1
+# undef C_ALLOCA
+# define C_ALLOCA 1
 #endif
 
 #ifdef __cplusplus