diff options
author | Ed Schouten <ed@FreeBSD.org> | 2009-06-02 17:52:33 +0000 |
---|---|---|
committer | Ed Schouten <ed@FreeBSD.org> | 2009-06-02 17:52:33 +0000 |
commit | 009b1c42aa6266385f2c37e227516b24077e6dd7 (patch) | |
tree | 64ba909838c23261cace781ece27d106134ea451 /include/llvm/Config/alloca.h |
Diffstat (limited to 'include/llvm/Config/alloca.h')
-rw-r--r-- | include/llvm/Config/alloca.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/include/llvm/Config/alloca.h b/include/llvm/Config/alloca.h new file mode 100644 index 0000000000000..9990507ef0780 --- /dev/null +++ b/include/llvm/Config/alloca.h @@ -0,0 +1,49 @@ +/* + * The LLVM Compiler Infrastructure + * + * This file is distributed under the University of Illinois Open Source + * License. See LICENSE.TXT for details. + * + ****************************************************************************** + * + * Description: + * This header file includes the infamous alloc.h header file if the + * autoconf system has found it. It hides all of the autoconf details + * from the rest of the application source code. + */ + +#ifndef _CONFIG_ALLOC_H +#define _CONFIG_ALLOC_H + +#include "llvm/Config/config.h" + +/* + * This is a modified version of that suggested by the Autoconf manual. + * 1) The #pragma is indented so that pre-ANSI C compilers ignore it. + * 2) If alloca.h cannot be found, then try stdlib.h. Some platforms + * (notably FreeBSD) defined alloca() there. + */ +#ifdef _MSC_VER +#include <malloc.h> +#define alloca _alloca +#elif defined(HAVE_ALLOCA_H) +#include <alloca.h> +#elif defined(__MINGW32__) && defined(HAVE_MALLOC_H) +#include <malloc.h> +#elif !defined(__GNUC__) +# ifdef _AIX +# pragma alloca +# else +# ifndef alloca + char * alloca (); +# endif +# endif +#else +# ifdef HAVE_STDLIB_H +# include <stdlib.h> +# else +# error "The function alloca() is required but not found!" +# endif +#endif + +#endif |