]> git.eshelyaron.com Git - emacs.git/commitdiff
Backport fix for Bug#6170 from trunk.
authorDan Nicolaescu <dann@ics.uci.edu>
Sat, 13 Nov 2010 17:22:52 +0000 (12:22 -0500)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 13 Nov 2010 17:22:52 +0000 (12:22 -0500)
Fix alloca definition when using gcc on non-gnu systems.
* configure.in: Use the code sequence indicated by "info autoconf"
for alloca (bug#6170).

ChangeLog
configure.in
src/config.in

index 75813c9e7aa08c8e4612e0493c5134bcb46a9f0f..a6b47ed94151063a2c981f0e7cb1186f05d9d0ef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-13  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       Fix alloca definition when using gcc on non-gnu systems.
+       * configure.in: Use the code sequence indicated by "info autoconf"
+       for alloca (bug#6170).
+
 2010-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * .dir-locals.el (log-edit-mode): Set log-edit-rewrite-fixes.
index ca68db1b83d7c74c218d99a0a7da3842d6d09ee5..b9e183cad3e5709a06302b1ce5604fa77e281542 100644 (file)
@@ -2927,15 +2927,19 @@ extern char *getenv ();
 #ifdef HAVE_STDLIB_H
 #include <stdlib.h>
 #endif
-#ifndef __GNUC__
-# ifdef HAVE_ALLOCA_H
-#  include <alloca.h>
-# else /* AIX files deal with #pragma.  */
-#  ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#  endif
-# endif /* HAVE_ALLOCA_H */
-#endif /* __GNUC__ */
+#ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+#elif defined __GNUC__
+# define alloca __builtin_alloca
+#elif defined _AIX
+# define alloca __alloca
+#else
+# include <stddef.h>
+# ifdef  __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+#endif
 #ifndef HAVE_SIZE_T
 typedef unsigned size_t;
 #endif
index 4667c0feb288e5bb1c01e9353d96b533a43d6e8b..9009871951155969fd73bc94ce1d6adb363181a1 100644 (file)
@@ -1178,15 +1178,19 @@ extern char *getenv ();
 #ifdef HAVE_STDLIB_H
 #include <stdlib.h>
 #endif
-#ifndef __GNUC__
-# ifdef HAVE_ALLOCA_H
-#  include <alloca.h>
-# else /* AIX files deal with #pragma.  */
-#  ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#  endif
-# endif /* HAVE_ALLOCA_H */
-#endif /* __GNUC__ */
+#ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+#elif defined __GNUC__
+# define alloca __builtin_alloca
+#elif defined _AIX
+# define alloca __alloca
+#else
+# include <stddef.h>
+# ifdef  __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+#endif
 #ifndef HAVE_SIZE_T
 typedef unsigned size_t;
 #endif