diff options
author | Chris Lattner <sabre@nondot.org> | 2004-06-04 19:25:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-06-04 19:25:50 +0000 |
commit | 44eaf9b354bc7bda04836aa3aede93ffca136bda (patch) | |
tree | de71279a9a82e7559b7c1e514078eee468e7163b /include/llvm/Config/alloca.h | |
parent | d1e89d657cfd731c3c655ae43c1b0bdbc7fc78ec (diff) | |
download | llvm-44eaf9b354bc7bda04836aa3aede93ffca136bda.tar.gz llvm-44eaf9b354bc7bda04836aa3aede93ffca136bda.tar.bz2 llvm-44eaf9b354bc7bda04836aa3aede93ffca136bda.tar.xz |
Make this work on VC++, pull the HAVE_ALLOCA_H case out instead of duplicating
it. This code can probably be dramatically simplified, as I suspect that the
pragma and other stuff is not needed with C++ compilers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14015 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Config/alloca.h')
-rw-r--r-- | include/llvm/Config/alloca.h | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/include/llvm/Config/alloca.h b/include/llvm/Config/alloca.h index a6d6dbf9bd..297b56fa7c 100644 --- a/include/llvm/Config/alloca.h +++ b/include/llvm/Config/alloca.h @@ -23,27 +23,23 @@ * 2) If alloca.h cannot be found, then try stdlib.h. Some platforms * (notably FreeBSD) defined alloca() there. */ -#ifndef __GNUC__ -# ifdef HAVE_ALLOCA_H -# include <alloca.h> +#ifdef _MSC_VER +/* noop on Visual C++ */ +#elif defined(HAVE_ALLOCA_H) +#include <alloca.h> +#elif !defined(__GNUC__) +# ifdef _AIX + # pragma alloca # else -# ifdef _AIX - # pragma alloca -# else -# ifndef alloca - char * alloca (); -# endif +# ifndef alloca + char * alloca (); # endif # endif #else -# ifdef HAVE_ALLOCA_H -# include <alloca.h> +# ifdef HAVE_STDLIB_H +# include <stdlib.h> # else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# else -# error "The function alloca() is required but not found!" -# endif +# error "The function alloca() is required but not found!" # endif #endif |