[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#6170: 24.0.50; Compiling on solaris2.10 with gcc doesn't define allo
From: |
Lawrence Mitchell |
Subject: |
bug#6170: 24.0.50; Compiling on solaris2.10 with gcc doesn't define alloca |
Date: |
Mon, 31 May 2010 17:42:34 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (usg-unix-v) |
Dan Nicolaescu wrote:
> Lawrence Mitchell <wence@gmx.li> writes:
>> On this system, <stdlib.h> is provided by Sun and therefore
>> doesn't define alloca, unlike on a typical GNU/linux system where
>> <stdlib.h> contains the following:
>> | #if defined __USE_GNU || defined __USE_BSD || defined __USE_MISC
>> | # include <alloca.h>
>> | #endif /* Use GNU, BSD, or misc. */
>> When compiling emacs with gcc, alloca is therefore undefined.
>> The culprit is this snippet in configure.in:
>> | #ifndef __GNUC__
>> | # ifdef HAVE_ALLOCA_H
>> | # include <alloca.h>
>> | # else /* AIX files deal with #pragma. */
>> | # ifndef alloca /* predefined by HP cc +Olibcalls */
>> | char *alloca ();
>> | # endif
>> | # endif /* HAVE_ALLOCA_H */
>> | #endif /* __GNUC__ */
> "info autoconf" says that this is the proper way to do it:
> #ifdef HAVE_ALLOCA_H
> # include <alloca.h>
> #elif defined __GNUC__
> # define alloca __builtin_alloca
> #elif defined _AIX
> # define alloca __alloca
> #elif defined _MSC_VER
> # include <malloc.h>
> # define alloca _alloca
> #else
> # include <stddef.h>
> # ifdef __cplusplus
> extern "C"
> # endif
> void *alloca (size_t);
> #endif
> Not sure we need the last #else part, or the _MSC_VER part...
Is there any movement on getting this fix, or something like it,
installed? It doesn't seem like a controversial change.
Cheers,
Lawrence
--
Lawrence Mitchell <wence@gmx.li>