diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/Config/alloca.h | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/llvm/include/Config/alloca.h b/llvm/include/Config/alloca.h index a6d6dbf9bdf..297b56fa7c5 100644 --- a/llvm/include/Config/alloca.h +++ b/llvm/include/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 |

