bfd/
[binutils.git] / include / alloca-conf.h
blob9ba77953d80a9a81db111526b5491de0d78d4d16
1 #include "config.h"
3 /* This is a merge of code recommended in the autoconf-2.61 documentation
4 with that recommended in the autoconf-2.13 documentation, with added
5 tweaks to heed C_ALLOCA. */
7 #if defined HAVE_ALLOCA_H && !defined C_ALLOCA
8 # include <alloca.h>
9 #else
10 # if defined __GNUC__ && !defined C_ALLOCA
11 # if !defined alloca
12 # define alloca __builtin_alloca
13 # endif
14 # else
15 # if defined _AIX
16 /* Indented so that pre-ansi C compilers will ignore it, rather than
17 choke on it. Some versions of AIX require this to be the first
18 thing in the file except for comments and preprocessor directives. */
19 #pragma alloca
20 # else
21 # if defined _MSC_VER && !defined C_ALLOCA
22 # include <malloc.h>
23 # define alloca _alloca
24 # else
25 # if !defined alloca
26 # if defined __STDC__ || defined __hpux
27 # if defined HAVE_STDDEF_H
28 # include <stddef.h>
29 # if defined __cplusplus
30 extern "C" void *alloca (size_t);
31 # else
32 extern void *alloca (size_t);
33 # endif
34 # else
35 extern void *alloca ();
36 # endif
37 # else
38 extern char *alloca ();
39 # endif
40 # endif
41 # endif
42 # endif
43 # endif
44 #endif