121439Sjdp/* This file is automatically generated.  DO NOT EDIT! */
221439Sjdp/* Generated from: NetBSD: mknative-gdb,v 1.12 2020/09/17 16:54:31 christos Exp  */
321439Sjdp/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
421439Sjdp
521439Sjdp/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
621439Sjdp/* Memory allocation on the stack.
721439Sjdp
821439Sjdp   Copyright (C) 1995, 1999, 2001-2004, 2006-2020 Free Software Foundation,
921439Sjdp   Inc.
1021439Sjdp
1121439Sjdp   This program is free software; you can redistribute it and/or modify it
1221439Sjdp   under the terms of the GNU General Public License as published
1321439Sjdp   by the Free Software Foundation; either version 3, or (at your option)
1421439Sjdp   any later version.
1521439Sjdp
1621439Sjdp   This program is distributed in the hope that it will be useful,
1721439Sjdp   but WITHOUT ANY WARRANTY; without even the implied warranty of
1821439Sjdp   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1921439Sjdp   General Public License for more details.
2021439Sjdp
2121439Sjdp   You should have received a copy of the GNU General Public
2221439Sjdp   License along with this program; if not, see
2321439Sjdp   <https://www.gnu.org/licenses/>.
2421439Sjdp  */
2521439Sjdp
2699112Sobrien/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
2799112Sobrien   means there is a real alloca function.  */
2899112Sobrien#ifndef _GL_ALLOCA_H
2921439Sjdp#define _GL_ALLOCA_H
3021439Sjdp
3121439Sjdp/* alloca (N) returns a pointer to N bytes of memory
3221439Sjdp   allocated on the stack, which will last until the function returns.
3321439Sjdp   Use of alloca should be avoided:
3421439Sjdp     - inside arguments of function calls - undefined behaviour,
3521439Sjdp     - in inline functions - the allocation may actually last until the
3621439Sjdp       calling function returns,
3721439Sjdp     - for huge N (say, N >= 65536) - you never know how large (or small)
3821462Sjdp       the stack is, and when the stack cannot fulfill the memory allocation
3921439Sjdp       request, the program just crashes.
4021439Sjdp */
41172580Scsjp
4221439Sjdp#ifndef alloca
4321439Sjdp  /* Some version of mingw have an <alloca.h> that causes trouble when
4421439Sjdp     included after 'alloca' gets defined as a macro.  As a workaround,
4521439Sjdp     include this <alloca.h> first and define 'alloca' as a macro afterwards
46172580Scsjp     if needed.  */
4721439Sjdp# if defined __GNUC__ && (defined _WIN32 && ! defined __CYGWIN__) && 0
4821439Sjdp#  include_next <alloca.h>
49150977Scsjp# endif
5037493Sjdp#endif
5121439Sjdp#ifndef alloca
5221439Sjdp# ifdef __GNUC__
5321439Sjdp#  define alloca __builtin_alloca
5421439Sjdp# elif defined _AIX
5521439Sjdp#  define alloca __alloca
5621439Sjdp# elif defined _MSC_VER
5721439Sjdp#  include <malloc.h>
5821439Sjdp#  define alloca _alloca
59250462Seadler# elif defined __DECC && defined __VMS
60151056Scsjp#  define alloca __ALLOCA
6121439Sjdp# elif defined __TANDEM && defined _TNS_E_TARGET
62151056Scsjp#  ifdef  __cplusplus
63250462Seadlerextern "C"
64151056Scsjp#  endif
65250462Seadlervoid *_alloca (unsigned short);
66151056Scsjp#  pragma intrinsic (_alloca)
67151056Scsjp#  define alloca _alloca
68151056Scsjp# elif defined __MVS__
69151056Scsjp#  include <stdlib.h>
70250462Seadler# else
71250462Seadler#  include <stddef.h>
72250462Seadler#  ifdef  __cplusplus
73151056Scsjpextern "C"
74151056Scsjp#  endif
75151056Scsjpvoid *alloca (size_t);
76151056Scsjp# endif
77151056Scsjp#endif
78151056Scsjp
79151056Scsjp#endif /* _GL_ALLOCA_H */
80151056Scsjp