1/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
2/* Memory allocation on the stack.
3
4   Copyright (C) 1995, 1999, 2001-2004, 2006-2012 Free Software Foundation,
5   Inc.
6
7   This program is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published
9   by the Free Software Foundation; either version 3, or (at your option)
10   any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15   General Public License for more details.
16
17   You should have received a copy of the GNU General Public
18   License along with this program; if not, see
19   <http://www.gnu.org/licenses/>.
20  */
21
22/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
23   means there is a real alloca function.  */
24#ifndef _GL_ALLOCA_H
25#define _GL_ALLOCA_H
26
27/* alloca (N) returns a pointer to N bytes of memory
28   allocated on the stack, which will last until the function returns.
29   Use of alloca should be avoided:
30     - inside arguments of function calls - undefined behaviour,
31     - in inline functions - the allocation may actually last until the
32       calling function returns,
33     - for huge N (say, N >= 65536) - you never know how large (or small)
34       the stack is, and when the stack cannot fulfill the memory allocation
35       request, the program just crashes.
36 */
37
38#ifndef alloca
39# ifdef __GNUC__
40#  define alloca __builtin_alloca
41# elif defined _AIX
42#  define alloca __alloca
43# elif defined _MSC_VER
44#  include <malloc.h>
45#  define alloca _alloca
46# elif defined __DECC && defined __VMS
47#  define alloca __ALLOCA
48# elif defined __TANDEM && defined _TNS_E_TARGET
49#  ifdef  __cplusplus
50extern "C"
51#  endif
52void *_alloca (unsigned short);
53#  pragma intrinsic (_alloca)
54#  define alloca _alloca
55# else
56#  include <stddef.h>
57#  ifdef  __cplusplus
58extern "C"
59#  endif
60void *alloca (size_t);
61# endif
62#endif
63
64#endif /* _GL_ALLOCA_H */
65