2003-06-30 21:59:07 +00:00
|
|
|
/*
|
2003-10-20 20:11:43 +00:00
|
|
|
* The LLVM Compiler Infrastructure
|
|
|
|
*
|
|
|
|
* This file was developed by the LLVM research group and is distributed under
|
|
|
|
* the University of Illinois Open Source License. See LICENSE.TXT for details.
|
|
|
|
*
|
|
|
|
******************************************************************************
|
2003-06-30 21:59:07 +00:00
|
|
|
*
|
|
|
|
* Description:
|
|
|
|
* This header file includes the infamous alloc.h header file if the
|
|
|
|
* autoconf system has found it. It hides all of the autoconf details
|
|
|
|
* from the rest of the application source code.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _CONFIG_ALLOC_H
|
|
|
|
#define _CONFIG_ALLOC_H
|
|
|
|
|
2004-09-01 22:55:40 +00:00
|
|
|
#include "llvm/Config/config.h"
|
2003-06-30 21:59:07 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* This is a modified version of that suggested by the Autoconf manual.
|
|
|
|
* 1) The #pragma is indented so that pre-ANSI C compilers ignore it.
|
|
|
|
* 2) If alloca.h cannot be found, then try stdlib.h. Some platforms
|
|
|
|
* (notably FreeBSD) defined alloca() there.
|
|
|
|
*/
|
2004-06-04 19:25:50 +00:00
|
|
|
#ifdef _MSC_VER
|
2004-10-25 18:38:05 +00:00
|
|
|
#include <malloc.h>
|
|
|
|
#define alloca _alloca
|
2004-06-04 19:25:50 +00:00
|
|
|
#elif defined(HAVE_ALLOCA_H)
|
|
|
|
#include <alloca.h>
|
2004-11-02 17:31:02 +00:00
|
|
|
#elif defined(__MINGW) && defined(HAVE_MALLOC_H)
|
2004-09-22 15:28:32 +00:00
|
|
|
#include <malloc.h>
|
2004-06-04 19:25:50 +00:00
|
|
|
#elif !defined(__GNUC__)
|
|
|
|
# ifdef _AIX
|
|
|
|
# pragma alloca
|
2003-06-30 21:59:07 +00:00
|
|
|
# else
|
2004-06-04 19:25:50 +00:00
|
|
|
# ifndef alloca
|
|
|
|
char * alloca ();
|
2003-06-30 21:59:07 +00:00
|
|
|
# endif
|
|
|
|
# endif
|
|
|
|
#else
|
2004-06-04 19:25:50 +00:00
|
|
|
# ifdef HAVE_STDLIB_H
|
|
|
|
# include <stdlib.h>
|
2003-06-30 21:59:07 +00:00
|
|
|
# else
|
2004-06-04 19:25:50 +00:00
|
|
|
# error "The function alloca() is required but not found!"
|
2003-06-30 21:59:07 +00:00
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|