Update alloca declaration

Hrvoje Niksic <[email protected]> Sun, 26 Jun 2005 22:35:55 +0200
Newsgroups gmane.comp.web.wget.patches
Message-ID <[email protected]>
This updates the alloca declaration to the latest one recommended by
the Autoconf manual (look for AC_FUNC_ALLOCA in
http://tinyurl.com/amrur).

This should remove the alloca-related warning when using GCC on AIX.


2005-06-26  Hrvoje Niksic  <[email protected]>

	* config-post.h: Replace the alloca declaration with the one from
	the latest Autoconf manual.  This should remove a warning with GCC
	on AIX.

Index: src/config-post.h
===================================================================
--- src/config-post.h	(revision 1830)
+++ src/config-post.h	(revision 1831)
@@ -6,23 +6,7 @@
 
    This file is included at the bottom of config.h.  */
 
-/* Alloca-related defines, straight out of the Autoconf manual. */
-
-/* AIX requires this to be the first thing in the file.  */
-#ifndef __GNUC__
-# if HAVE_ALLOCA_H
-#  include <alloca.h>
-# else
-#  ifdef _AIX
- #pragma alloca
-#  else
-#   ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca ();
-#   endif
-#  endif
-# endif
-#endif
-
+/* Testing for __sun is not enough because it's also defined on SunOS.  */
 #ifdef __sun
 # ifdef __SVR4
 #  define solaris
@@ -64,3 +48,25 @@
 #define _BSD_SOURCE
 
 #endif /* NAMESPACE_TWEAKS */
+
+
+/* Alloca-related defines, straight out of the Autoconf manual.  These
+   have to be after the above namespace tweaks, but before actual
+   declarations and system includes.  */
+
+#if HAVE_ALLOCA_H
+# include <alloca.h>
+#elif defined __GNUC__
+# define alloca __builtin_alloca
+#elif defined _AIX
+# define alloca __alloca
+#elif defined _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+#else
+# include <stddef.h>
+# ifdef  __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+#endif