autoconf-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Autoconf source repository branch, master, updated. v2.69-52-g


From: Paul Eggert
Subject: [SCM] GNU Autoconf source repository branch, master, updated. v2.69-52-gfd29dbd
Date: Fri, 21 Dec 2012 05:22:38 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Autoconf source repository".

http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=fd29dbd7d966f0fbde031a67955d77d50268c3d5

The branch, master has been updated
       via  fd29dbd7d966f0fbde031a67955d77d50268c3d5 (commit)
      from  eeb7e7d58ed7e1fc0eaae53a61e910bd1272f5d2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fd29dbd7d966f0fbde031a67955d77d50268c3d5
Author: Paul Eggert <address@hidden>
Date:   Thu Dec 20 21:21:04 2012 -0800

    AC_FUNC_ALLOCA: port to recent BSDs and remove obsolete AIX
    
    * doc/autoconf.texi (Particular Functions): Remove the AIX case
    from the recommended code, as the most recent version of the AIX
    compiler that IBM still supports (V10.1 as of this writing) has
    <alloca.h> and thus longer needs this, and the old suggestion
    wasn't completely working anyway.  Remove obsolete discussion of
    SVR3 libPW alloca and of SVR4 libucb alloca.
    * lib/autoconf/functions.m4 (AC_FUNC_ALLOCA):
    Rework to match documentation, including abovementioned AIX change.
    Inconsistency with documentation reported by Steven G. Johnson in
    <http://lists.gnu.org/archive/html/autoconf/2003-03/msg00179.html>.
    As this adds stdlib.h, it should also fix the problems on recent
    BSD platforms noted by Patrick Welche in
    http://lists.gnu.org/archive/html/autoconf-patches/2012-12/msg00009.html
    though the fix differs from NetBSD's current workaround.
    Also, don't bother checking for alloca if <alloca.h> works,
    as the latter implies the former.

-----------------------------------------------------------------------

Summary of changes:
 doc/autoconf.texi         |   23 +++++------------------
 lib/autoconf/functions.m4 |   34 +++++++++++++++++-----------------
 2 files changed, 22 insertions(+), 35 deletions(-)

diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 3f0dbb4..c9c1677 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -4858,15 +4858,11 @@ in some cases how they respond when given certain 
arguments.
 @prindex @code{alloca}
 @hdrindex{alloca.h}
 @c @caindex working_alloca_h
-Check how to get @code{alloca}.  Tries to get a builtin version by
-checking for @file{alloca.h} or the predefined C preprocessor macros
address@hidden and @code{_AIX}.  If this macro finds @file{alloca.h},
-it defines @code{HAVE_ALLOCA_H}.
-
-If those attempts fail, it looks for the function in the standard C
-library.  If any of those methods succeed, it defines
address@hidden  Otherwise, it sets the output variable
address@hidden to @address@hidden@}alloca.o} and defines
+Check for the @code{alloca} function.  Define @code{HAVE_ALLOCA_H} if
address@hidden defines a working @code{alloca}.  If not, look for a
+builtin alternative.  If either method succeeds, define
address@hidden  Otherwise, set the output variable @code{ALLOCA} to
address@hidden@address@hidden and define
 @code{C_ALLOCA} (so programs can periodically call @samp{alloca (0)} to
 garbage collect).  This variable is separate from @code{LIBOBJS} so
 multiple programs can share the value of @code{ALLOCA} without needing
@@ -4874,13 +4870,6 @@ to create an actual library, in case only some of them 
use the code in
 @code{LIBOBJS}.  The @address@hidden@}} prefix serves the same
 purpose as in @code{LIBOBJS} (@pxref{AC_LIBOBJ vs LIBOBJS}).
 
-This macro does not try to get @code{alloca} from the System V R3
address@hidden or the System V R4 @file{libucb} because those libraries
-contain some incompatible functions that cause trouble.  Some versions
-do not even contain @code{alloca} or contain a buggy version.  If you
-still want to use their @code{alloca}, use @code{ar} to extract
address@hidden from them instead of compiling @file{alloca.c}.
-
 Source files that use @code{alloca} should start with a piece of code
 like the following, to declare it properly.
 
@@ -4895,8 +4884,6 @@ like the following, to declare it properly.
 #elif !defined alloca
 # ifdef __GNUC__
 #  define alloca __builtin_alloca
-# elif defined _AIX
-#  define alloca __alloca
 # elif defined _MSC_VER
 #  include <malloc.h>
 #  define alloca _alloca
diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
index de7a6b8..db7be05 100644
--- a/lib/autoconf/functions.m4
+++ b/lib/autoconf/functions.m4
@@ -372,36 +372,36 @@ AC_CACHE_CHECK([for working alloca.h], 
ac_cv_working_alloca_h,
                [ac_cv_working_alloca_h=no])])
 if test $ac_cv_working_alloca_h = yes; then
   AC_DEFINE(HAVE_ALLOCA_H, 1,
-           [Define to 1 if you have <alloca.h> and it should be used
-            (not on Ultrix).])
+           [Define to 1 if <alloca.h> works.])
 fi
 
 AC_CACHE_CHECK([for alloca], ac_cv_func_alloca_works,
-[AC_LINK_IFELSE([AC_LANG_PROGRAM(
-[[#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
+[if test $ac_cv_working_alloca_h = yes; then
+  ac_cv_func_alloca_works=yes
+else
+  AC_LINK_IFELSE([AC_LANG_PROGRAM(
+[[#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+#include <stddef.h>
+#ifndef alloca
+# ifdef __GNUC__
+#  define alloca __builtin_alloca
+# elif defined _MSC_VER
 #  include <malloc.h>
 #  define alloca _alloca
 # else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
+#  ifdef  __cplusplus
+extern "C"
 #  endif
+void *alloca (size_t);
 # endif
 #endif
 ]],                               [[char *p = (char *) alloca (1);
                                    if (p) return 0;]])],
                [ac_cv_func_alloca_works=yes],
                [ac_cv_func_alloca_works=no])])
+fi
 
 if test $ac_cv_func_alloca_works = yes; then
   AC_DEFINE(HAVE_ALLOCA, 1,


hooks/post-receive
-- 
GNU Autoconf source repository



reply via email to

[Prev in Thread] Current Thread [Next in Thread]