1 /* Copyright (C) 2012-2017 Free Software Foundation, Inc.
3 This program is free software: you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 3 of the License, or
6 (at your option) any later version.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>. */
18 /* This is a merge of code recommended in the autoconf-2.61 documentation
19 with that recommended in the autoconf-2.13 documentation, with added
20 tweaks to heed C_ALLOCA. */
22 #if defined HAVE_ALLOCA_H && !defined C_ALLOCA
25 # if defined __GNUC__ && !defined C_ALLOCA
27 # define alloca __builtin_alloca
31 /* Indented so that pre-ansi C compilers will ignore it, rather than
32 choke on it. Some versions of AIX require this to be the first
33 thing seen by the compiler except for comments and preprocessor
37 # if defined _MSC_VER && !defined C_ALLOCA
39 # define alloca _alloca
42 # if defined __STDC__ || defined __hpux
43 # if defined HAVE_STDDEF_H
45 # if defined __cplusplus
46 extern "C" void *alloca (size_t);
48 extern void *alloca (size_t);
51 extern void *alloca ();
54 extern char *alloca ();