E17: update alloca detection

SVN revision: 79427
This commit is contained in:
Vincent Torri 2012-11-18 13:42:48 +00:00
parent f3102c296f
commit ba53c29261
1 changed files with 15 additions and 6 deletions

View File

@ -24,22 +24,31 @@
# define _FILE_OFFSET_BITS 64 # define _FILE_OFFSET_BITS 64
# endif # endif
# ifdef HAVE_ALLOCA_H #ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# ifdef HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
#ifdef HAVE_ALLOCA_H
# include <alloca.h> # include <alloca.h>
# elif defined __GNUC__ #elif !defined alloca
# ifdef __GNUC__
# define alloca __builtin_alloca # define alloca __builtin_alloca
# elif defined _AIX # elif defined _AIX
# define alloca __alloca # define alloca __alloca
# elif defined _MSC_VER # elif defined _MSC_VER
# include <malloc.h> # include <malloc.h>
# define alloca _alloca # define alloca _alloca
# else # elif !defined HAVE_ALLOCA
# include <stddef.h>
# ifdef __cplusplus # ifdef __cplusplus
extern "C" extern "C"
# endif # endif
void *alloca(size_t); void *alloca (size_t);
# endif # endif
#endif
# ifdef __linux__ # ifdef __linux__
# include <features.h> # include <features.h>