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 | 3df4beffa5966ac89dfbdec69fbb498778d7a372 (patch) | |
| tree | ed5fdcb0bc989bda0f86a7d4d7554a8436039cf8 /llvm/include | |
| parent | 72e76982f73af2c72d1ee4e90468dc958c7b9b33 (diff) | |
| download | bcm5719-llvm-3df4beffa5966ac89dfbdec69fbb498778d7a372.tar.gz bcm5719-llvm-3df4beffa5966ac89dfbdec69fbb498778d7a372.zip | |
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.
llvm-svn: 14015
Diffstat (limited to 'llvm/include')
| -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 | 

