>>>> "Falk" == Falk Hueffner
<falk.hueffner(a)student.uni-tuebingen.de> writes:
Falk> Hi,
Falk> with xemacs-21.2 CVS from October 12 and Compaq C V6.2-504 I get
Falk> [...]
Falk> checking for working alloca.h... no
Falk> checking for alloca... no
Falk> Defining C_ALLOCA
Falk> checking whether alloca needs Cray hooks... no
Falk> checking stack direction for C alloca... -1
Falk> Defining STACK_DIRECTION = -1
Falk> xemacs will be linked with "alloca.o"
Falk> [...]
Here's a patch that fixes it. After I commit this, I would like
everyone (but especially Falk) who has an Alpha Linux system to test
both gcc and ccc if possible.
This is really a Compaq C bug workaround, since
#include <alloca.h>
should include a Compaq-specific header file (as gcc does), since
alloca is a compiler-dependent function, not for library implementation.
Index: ChangeLog
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/ChangeLog,v
retrieving revision 1.155.2.215
diff -u -w -U0 -r1.155.2.215 ChangeLog
--- ChangeLog 2000/10/27 05:32:53 1.155.2.215
+++ ChangeLog 2000/11/01 05:40:19
@@ -0,0 +1,4 @@
+2000-11-01 Martin Buchholz <martin(a)xemacs.org>
+
+ * configure.in: Handle alloca with Compaq C on Alpha Linux.
+
Index: src/ChangeLog
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/ChangeLog,v
retrieving revision 1.154.2.732
diff -u -w -U0 -r1.154.2.732 ChangeLog
--- src/ChangeLog 2000/11/01 02:56:16 1.154.2.732
+++ src/ChangeLog 2000/11/01 05:40:29
@@ -2,0 +3,2 @@
+ * config.h.in: Handle alloca with Compaq C on Alpha Linux.
+
Index: src/config.h.in
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/config.h.in,v
retrieving revision 1.49.2.52
diff -u -w -r1.49.2.52 config.h.in
--- src/config.h.in 2000/10/27 05:29:44 1.49.2.52
+++ src/config.h.in 2000/11/01 05:40:34
@@ -34,7 +34,10 @@
#ifndef NOT_C_CODE
#ifdef __GNUC__
#define alloca __builtin_alloca
-#elif HAVE_ALLOCA_H
+#elif defined __DECC
+#include <alloca.h>
+#pragma intrinsic(alloca)
+#elif defined HAVE_ALLOCA_H
#include <alloca.h>
#elif defined(_AIX)
#pragma alloca
Index: configure.in
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/configure.in,v
retrieving revision 1.111.2.130
diff -u -w -r1.111.2.130 configure.in
--- configure.in 2000/10/27 05:32:52 1.111.2.130
+++ configure.in 2000/11/01 05:40:41
@@ -3698,8 +3698,11 @@
dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)])
dnl esac
+dnl AC_FUNC_ALLOCA doesn't know about DEC C's #pragma intrinsic(alloca)
+if test "$__DECC" != "yes"; then
AC_FUNC_ALLOCA
test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
+fi
dnl Check whether vfork exists and works correctly. (This does more
dnl than just check for its existence.) If so, it defines HAVE_VFORK_H.