2003-06-30 23:59:07 +02:00
|
|
|
/*
|
2003-10-20 22:11:43 +02: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 23:59:07 +02: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-02 00:55:40 +02:00
|
|
|
#include "llvm/Config/config.h"
|
2003-06-30 23:59:07 +02: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 21:25:50 +02:00
|
|
|
#ifdef _MSC_VER
|
2004-10-25 20:38:05 +02:00
|
|
|
#include <malloc.h>
|
|
|
|
#define alloca _alloca
|
2004-06-04 21:25:50 +02:00
|
|
|
#elif defined(HAVE_ALLOCA_H)
|
|
|
|
#include <alloca.h>
|
2005-02-19 04:01:13 +01:00
|
|
|
#elif defined(__MINGW32__) && defined(HAVE_MALLOC_H)
|
2004-09-22 17:28:32 +02:00
|
|
|
#include <malloc.h>
|
2004-06-04 21:25:50 +02:00
|
|
|
#elif !defined(__GNUC__)
|
|
|
|
# ifdef _AIX
|
|
|
|
# pragma alloca
|
2003-06-30 23:59:07 +02:00
|
|
|
# else
|
2004-06-04 21:25:50 +02:00
|
|
|
# ifndef alloca
|
|
|
|
char * alloca ();
|
2003-06-30 23:59:07 +02:00
|
|
|
# endif
|
|
|
|
# endif
|
|
|
|
#else
|
2004-06-04 21:25:50 +02:00
|
|
|
# ifdef HAVE_STDLIB_H
|
|
|
|
# include <stdlib.h>
|
2003-06-30 23:59:07 +02:00
|
|
|
# else
|
2004-06-04 21:25:50 +02:00
|
|
|
# error "The function alloca() is required but not found!"
|
2003-06-30 23:59:07 +02:00
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|