XEmacs 21.4.12 "Portable Code".
[chise/xemacs-chise.git] / src / config.h.in
index 9bea302..3a10221 100644 (file)
@@ -32,11 +32,18 @@ Boston, MA 02111-1307, USA.  */
 #undef HAVE_ALLOCA_H
 
 #ifndef NOT_C_CODE
-#ifdef __GNUC__
+#if defined (__CYGWIN__)
+/* We get complaints about redefinitions if we just use the __GNUC__
+   definition: stdlib.h also includes alloca.h, which defines it slightly
+   differently */
+#include <alloca.h>
+#elif defined (__GNUC__)
 #define alloca __builtin_alloca
 #elif defined __DECC
 #include <alloca.h>
 #pragma intrinsic(alloca)
+#elif defined __INTEL_COMPILER && defined HAVE_ALLOCA_H
+/* defer #include to end of file */
 #elif defined HAVE_ALLOCA_H
 #include <alloca.h>
 #elif defined(_AIX)
@@ -898,4 +905,12 @@ on various systems. */
 
 #undef PDUMP
 
+#ifndef NOT_C_CODE
+#if defined __INTEL_COMPILER && defined HAVE_ALLOCA_H
+/* icc's alloca.h pulls in <features.h>,
+   but that must be done after _GNU_SOURCE and friends are defined */
+#include <alloca.h>
+#endif
+#endif /* C code */
+
 #endif /* _SRC_CONFIG_H_ */