summaryrefslogtreecommitdiff
path: root/include/llvm/Config/alloca.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-06-04 19:25:50 +0000
committerChris Lattner <sabre@nondot.org>2004-06-04 19:25:50 +0000
commit44eaf9b354bc7bda04836aa3aede93ffca136bda (patch)
treede71279a9a82e7559b7c1e514078eee468e7163b /include/llvm/Config/alloca.h
parentd1e89d657cfd731c3c655ae43c1b0bdbc7fc78ec (diff)
downloadllvm-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.h28
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