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