summaryrefslogtreecommitdiff
path: root/m4/alloca.m4
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-11-05 11:10:13 -0800
committerAnas Nashif <anas.nashif@intel.com>2012-11-05 11:10:13 -0800
commit7be93f2d05131d061bd4790ae33c8d50f50010d7 (patch)
tree72736c1606f803a92ffa07c9808ffea2521d009e /m4/alloca.m4
downloadm4-7be93f2d05131d061bd4790ae33c8d50f50010d7.tar.gz
m4-7be93f2d05131d061bd4790ae33c8d50f50010d7.tar.bz2
m4-7be93f2d05131d061bd4790ae33c8d50f50010d7.zip
Imported Upstream version 1.4.16upstream/1.4.16
Diffstat (limited to 'm4/alloca.m4')
-rw-r--r--m4/alloca.m443
1 files changed, 43 insertions, 0 deletions
diff --git a/m4/alloca.m4 b/m4/alloca.m4
new file mode 100644
index 0000000..e2e8a05
--- /dev/null
+++ b/m4/alloca.m4
@@ -0,0 +1,43 @@
+# alloca.m4 serial 10
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl 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],
+[
+ 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.
+ if test $ac_cv_working_alloca_h = yes; then
+ AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [
+ AC_EGREP_CPP([Need own alloca], [
+#if defined __GNUC__ || defined _AIX || defined _MSC_VER
+ Need own alloca
+#endif
+ ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no])
+ ])
+ if test $gl_cv_rpl_alloca = yes; then
+ dnl OK, alloca can be implemented through a compiler built-in.
+ AC_DEFINE([HAVE_ALLOCA], [1],
+ [Define to 1 if you have 'alloca' after including <alloca.h>,
+ a header that may be supplied by this distribution.])
+ ALLOCA_H=alloca.h
+ else
+ dnl alloca exists as a library function, i.e. it is slow and probably
+ dnl a memory leak. Don't define HAVE_ALLOCA in this case.
+ ALLOCA_H=
+ fi
+ else
+ ALLOCA_H=alloca.h
+ fi
+ AC_SUBST([ALLOCA_H])
+])
+
+# Prerequisites of lib/alloca.c.
+# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
+AC_DEFUN([gl_PREREQ_ALLOCA], [:])