From: Bruno Haible Date: Sun, 5 Jul 2020 19:50:34 +0000 (+0200) Subject: alloca-opt: Update from gnulib. X-Git-Tag: v0.21~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d58b020d6d5df1b4fb8ea5007ccabbbe58944107;p=thirdparty%2Fgettext.git alloca-opt: Update from gnulib. * gnulib-local/lib/alloca.in.h: Update from gnulib. * gnulib-local/m4/alloca.m4: Remove file. * gnulib-local/Makefile.am (EXTRA_DIST): Remove it. --- diff --git a/gnulib-local/Makefile.am b/gnulib-local/Makefile.am index a11bca21e..04d0a6fd4 100644 --- a/gnulib-local/Makefile.am +++ b/gnulib-local/Makefile.am @@ -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 \ diff --git a/gnulib-local/lib/alloca.in.h b/gnulib-local/lib/alloca.in.h index 4b6ff00d4..56b9d9e77 100644 --- a/gnulib-local/lib/alloca.in.h +++ b/gnulib-local/lib/alloca.in.h @@ -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 @@ -34,13 +34,33 @@ request, the program just crashes. */ +#ifndef alloca + /* Some version of mingw have an that causes trouble when + included after 'alloca' gets defined as a macro. As a workaround, + include this first and define 'alloca' as a macro afterwards + if needed. */ +# if defined __GNUC__ && (defined _WIN32 && ! defined __CYGWIN__) && @HAVE_ALLOCA_H@ +# include_next +# endif +#endif #ifndef alloca # ifdef __GNUC__ -# define alloca __builtin_alloca +# define alloca __builtin_alloca # else # ifdef _MSC_VER # include # 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 # else # if HAVE_ALLOCA_H # include diff --git a/gnulib-local/m4/alloca.m4 b/gnulib-local/m4/alloca.m4 deleted file mode 100644 index 80141647e..000000000 --- a/gnulib-local/m4/alloca.m4 +++ /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) - : -])