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
This commit is contained in:
Chris Lattner 2004-06-04 19:25:50 +00:00
parent d1e89d657c
commit 44eaf9b354
2 changed files with 24 additions and 32 deletions

View File

@ -23,10 +23,11 @@
* 2) If alloca.h cannot be found, then try stdlib.h. Some platforms * 2) If alloca.h cannot be found, then try stdlib.h. Some platforms
* (notably FreeBSD) defined alloca() there. * (notably FreeBSD) defined alloca() there.
*/ */
#ifndef __GNUC__ #ifdef _MSC_VER
# ifdef HAVE_ALLOCA_H /* noop on Visual C++ */
# include <alloca.h> #elif defined(HAVE_ALLOCA_H)
# else #include <alloca.h>
#elif !defined(__GNUC__)
# ifdef _AIX # ifdef _AIX
# pragma alloca # pragma alloca
# else # else
@ -34,17 +35,12 @@
char * alloca (); char * alloca ();
# endif # endif
# endif # endif
# endif
#else #else
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef HAVE_STDLIB_H # ifdef HAVE_STDLIB_H
# include <stdlib.h> # include <stdlib.h>
# else # else
# error "The function alloca() is required but not found!" # error "The function alloca() is required but not found!"
# endif # endif
# endif
#endif #endif
#endif #endif

View File

@ -23,10 +23,11 @@
* 2) If alloca.h cannot be found, then try stdlib.h. Some platforms * 2) If alloca.h cannot be found, then try stdlib.h. Some platforms
* (notably FreeBSD) defined alloca() there. * (notably FreeBSD) defined alloca() there.
*/ */
#ifndef __GNUC__ #ifdef _MSC_VER
# ifdef HAVE_ALLOCA_H /* noop on Visual C++ */
# include <alloca.h> #elif defined(HAVE_ALLOCA_H)
# else #include <alloca.h>
#elif !defined(__GNUC__)
# ifdef _AIX # ifdef _AIX
# pragma alloca # pragma alloca
# else # else
@ -34,17 +35,12 @@
char * alloca (); char * alloca ();
# endif # endif
# endif # endif
# endif
#else #else
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef HAVE_STDLIB_H # ifdef HAVE_STDLIB_H
# include <stdlib.h> # include <stdlib.h>
# else # else
# error "The function alloca() is required but not found!" # error "The function alloca() is required but not found!"
# endif # endif
# endif
#endif #endif
#endif #endif