CBMC
allocainc.h
Go to the documentation of this file.
1 // $Id: allocainc.h,v 1.7 2005-12-25 14:44:24 kroening Exp $
2 
3 // Whatever is necessary to use alloca().
4 
5 #ifndef CPROVER_BIG_INT_ALLOCAINC_H
6 #define CPROVER_BIG_INT_ALLOCAINC_H
7 
8 
9 #if defined linux || defined __linux__ \
10  || defined __sun \
11  || defined UWIN \
12  || defined osf1 \
13  || defined __MACH__ \
14  || defined __CYGWIN__
15 
16 #include <alloca.h>
17 
18 #elif defined _MSC_VER \
19  || defined __BORLANDC__ \
20  || defined __MINGW32__
21 
22 # include <malloc.h>
23 
24 #elif defined __vax
25 
26 // In vax-alloca.mar.
27 extern "C" void *alloca (unsigned);
28 
29 #elif defined __VMS
30 
31 // DEC CXX on VMS alpha.
32 # include <builtins.h>
33 # define alloca(N) __ALLOCA(N)
34 
35 #elif defined __xlC__
36 
37 # pragma alloca
38 # include <stdlib.h>
39 
40 #elif defined __FCC__
41 
42 # define alloca(X) __builtin_alloca(X)
43 
44 #elif defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __OpenBSD__
45 
46 # include <stdlib.h>
47 
48 #endif
49 
50 
51 #endif // CPROVER_BIG_INT_ALLOCAINC_H