]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
alloca-opt: Update from gnulib.
authorBruno Haible <bruno@clisp.org>
Sun, 5 Jul 2020 19:50:34 +0000 (21:50 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 5 Jul 2020 19:50:34 +0000 (21:50 +0200)
* gnulib-local/lib/alloca.in.h: Update from gnulib.
* gnulib-local/m4/alloca.m4: Remove file.
* gnulib-local/Makefile.am (EXTRA_DIST): Remove it.

gnulib-local/Makefile.am
gnulib-local/lib/alloca.in.h
gnulib-local/m4/alloca.m4 [deleted file]

index a11bca21e4b1dd87a96a6d6a308c41454b7258dd..04d0a6fd4b66b2e0e2bde75e1ee86761aa6ad32b 100644 (file)
@@ -155,7 +155,6 @@ lib/xgetcwd.c \
 lib/xgetcwd.h \
 lib/xmalloc.c \
 lib/xstrdup.c \
-m4/alloca.m4 \
 m4/backupfile.m4 \
 m4/java.m4 \
 m4/libxml.m4 \
index 4b6ff00d432de9facf56370f91620b90cde5ca91..56b9d9e7718f4be2c2fc362e875eec147db80650 100644 (file)
@@ -1,5 +1,5 @@
 /* Memory allocation on the stack.
-   Copyright (C) 1995, 1999, 2001-2007 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1999, 2001-2020 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
        request, the program just crashes.
  */
 
+#ifndef alloca
+  /* Some version of mingw have an <alloca.h> that causes trouble when
+     included after 'alloca' gets defined as a macro.  As a workaround,
+     include this <alloca.h> first and define 'alloca' as a macro afterwards
+     if needed.  */
+# if defined __GNUC__ && (defined _WIN32 && ! defined __CYGWIN__) && @HAVE_ALLOCA_H@
+#  include_next <alloca.h>
+# endif
+#endif
 #ifndef alloca
 # ifdef __GNUC__
-#   define alloca __builtin_alloca
+#  define alloca __builtin_alloca
 # else
 #  ifdef _MSC_VER
 #   include <malloc.h>
 #   define alloca _alloca
+#  elif defined __DECC && defined __VMS
+#   define alloca __ALLOCA
+#  elif defined __TANDEM && defined _TNS_E_TARGET
+#   ifdef  __cplusplus
+extern "C"
+#   endif
+void *_alloca (unsigned short);
+#   pragma intrinsic (_alloca)
+#   define alloca _alloca
+#  elif defined __MVS__
+#   include <stdlib.h>
 #  else
 #   if HAVE_ALLOCA_H
 #    include <alloca.h>
diff --git a/gnulib-local/m4/alloca.m4 b/gnulib-local/m4/alloca.m4
deleted file mode 100644 (file)
index 8014164..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# alloca.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2006, 2011, Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_ALLOCA],
-[
-  dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
-  AC_REQUIRE([AC_PROG_CPP])
-  AC_REQUIRE([AC_PROG_EGREP])
-
-  AC_REQUIRE([AC_FUNC_ALLOCA])
-  if test $ac_cv_func_alloca_works = no; then
-    gl_PREREQ_ALLOCA
-  fi
-
-  # Define an additional variable used in the Makefile substitution.
-
-  AC_EGREP_CPP([Need own alloca], [
-#if defined __GNUC__ || defined _MSC_VER || !HAVE_ALLOCA_H
-  Need own alloca
-#endif
-    ],
-    ALLOCA_H=alloca.h,
-    ALLOCA_H=)
-  AC_SUBST([ALLOCA_H])
-  AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"])
-])
-
-# Prerequisites of lib/alloca.c.
-# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
-AC_DEFUN([gl_PREREQ_ALLOCA], [
-  AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
-  :
-])