diff options
Diffstat (limited to '')
-rw-r--r-- | include/memalloc.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/include/memalloc.h b/include/memalloc.h new file mode 100644 index 0000000..57318b9 --- /dev/null +++ b/include/memalloc.h @@ -0,0 +1,62 @@ +/* memalloc.h -- consolidate code for including alloca.h or malloc.h and + defining alloca. */ + +/* Copyright (C) 1993 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bash is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bash. If not, see <http://www.gnu.org/licenses/>. +*/ + +#if !defined (_MEMALLOC_H_) +# define _MEMALLOC_H_ + +#if defined (sparc) && defined (sun) && !defined (HAVE_ALLOCA_H) +# define HAVE_ALLOCA_H +#endif + +#if defined (__GNUC__) && !defined (HAVE_ALLOCA) +# define HAVE_ALLOCA +#endif + +#if defined (HAVE_ALLOCA_H) && !defined (HAVE_ALLOCA) && !defined (C_ALLOCA) +# define HAVE_ALLOCA +#endif /* HAVE_ALLOCA_H && !HAVE_ALLOCA */ + +#if defined (__GNUC__) && !defined (C_ALLOCA) +# undef alloca +# define alloca __builtin_alloca +#else /* !__GNUC__ || C_ALLOCA */ +# if defined (HAVE_ALLOCA_H) && !defined (C_ALLOCA) +# if defined (IBMESA) +# include <malloc.h> +# else /* !IBMESA */ +# include <alloca.h> +# endif /* !IBMESA */ +# else /* !HAVE_ALLOCA_H || C_ALLOCA */ +# if defined (__hpux) && defined (__STDC__) && !defined (alloca) +extern void *alloca (); +# else +# if !defined (alloca) +# if defined (__STDC__) +extern void *alloca (size_t); +# else +extern char *alloca (); +# endif /* !__STDC__ */ +# endif /* !alloca */ +# endif /* !__hpux || !__STDC__ && !alloca */ +# endif /* !HAVE_ALLOCA_H || C_ALLOCA */ +#endif /* !__GNUC__ || C_ALLOCA */ + +#endif /* _MEMALLOC_H_ */ |