X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=include%2Falloca-conf.h;fp=include%2Falloca-conf.h;h=9ba77953d80a9a81db111526b5491de0d78d4d16;hp=9c3eea396c19359acacad49f735999982ec56410;hb=88750007d7869f178f0ba528f41efd3b74c424cf;hpb=6df9443a374e2b81278c61b8afc0a1eef7db280b diff --git a/include/alloca-conf.h b/include/alloca-conf.h index 9c3eea3..9ba7795 100644 --- a/include/alloca-conf.h +++ b/include/alloca-conf.h @@ -1,24 +1,44 @@ #include "config.h" -#if defined(__GNUC__) && !defined(C_ALLOCA) -# ifndef alloca -# define alloca __builtin_alloca -# endif -#else /* ! defined (__GNUC__) */ -# ifdef _AIX - #pragma alloca +/* This is a merge of code recommended in the autoconf-2.61 documentation + with that recommended in the autoconf-2.13 documentation, with added + tweaks to heed C_ALLOCA. */ + +#if defined HAVE_ALLOCA_H && !defined C_ALLOCA +# include +#else +# if defined __GNUC__ && !defined C_ALLOCA +# if !defined alloca +# define alloca __builtin_alloca +# endif +# else +# if defined _AIX +/* Indented so that pre-ansi C compilers will ignore it, rather than + choke on it. Some versions of AIX require this to be the first + thing in the file except for comments and preprocessor directives. */ + #pragma alloca # else -# if defined(HAVE_ALLOCA_H) && !defined(C_ALLOCA) -# include -# else /* ! defined (HAVE_ALLOCA_H) */ -# ifdef __STDC__ -extern PTR alloca (size_t); -# else /* ! defined (__STDC__) */ -extern PTR alloca (); -# endif /* ! defined (__STDC__) */ -# endif /* ! defined (HAVE_ALLOCA_H) */ -# ifdef _WIN32 -# include +# if defined _MSC_VER && !defined C_ALLOCA +# include +# define alloca _alloca +# else +# if !defined alloca +# if defined __STDC__ || defined __hpux +# if defined HAVE_STDDEF_H +# include +# if defined __cplusplus +extern "C" void *alloca (size_t); +# else +extern void *alloca (size_t); +# endif +# else +extern void *alloca (); +# endif +# else +extern char *alloca (); +# endif +# endif +# endif # endif -# endif /* ! defined (_AIX) */ -#endif /* ! defined (__GNUC__) */ +# endif +#endif