]> git.ipfire.org Git - thirdparty/bash.git/blame - lib/posixheaders/memalloc.h
Imported from ../bash-2.01.tar.gz.
[thirdparty/bash.git] / lib / posixheaders / memalloc.h
CommitLineData
726f6388
JA
1/* memalloc.h -- consolidate code for including alloca.h or malloc.h and
2 defining alloca. */
3
4/* Copyright (C) 1993 Free Software Foundation, Inc.
5
6 This file is part of GNU Bash, the Bourne Again SHell.
7
8 Bash is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 2, or (at your option) any later
11 version.
12
13 Bash is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License along
19 with Bash; see the file COPYING. If not, write to the Free Software
20 Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
21
ccc6cda3
JA
22#if !defined (_MEMALLOC_H_)
23# define _MEMALLOC_H_
726f6388
JA
24
25#if defined (sparc) && defined (sun) && !defined (HAVE_ALLOCA_H)
26# define HAVE_ALLOCA_H
27#endif
28
29#if defined (__GNUC__) && !defined (HAVE_ALLOCA)
30# define HAVE_ALLOCA
31#endif
32
33#if defined (HAVE_ALLOCA_H) && !defined (HAVE_ALLOCA)
34# define HAVE_ALLOCA
35#endif /* HAVE_ALLOCA_H && !HAVE_ALLOCA */
36
726f6388
JA
37#if defined (__GNUC__)
38# undef alloca
39# define alloca __builtin_alloca
40#else /* !__GNUC__ */
41# if defined (HAVE_ALLOCA_H)
42# if defined (IBMESA)
43# include <malloc.h>
44# else /* !IBMESA */
45# include <alloca.h>
46# endif /* !IBMESA */
ccc6cda3 47# else /* !HAVE_ALLOCA_H */
d166f048 48# if defined (__hpux) && defined (__STDC__) && !defined (alloca)
ccc6cda3
JA
49extern void *alloca ();
50# else
51# if !defined (alloca)
726f6388 52extern char *alloca ();
ccc6cda3 53# endif /* !alloca */
d166f048 54# endif /* !__hpux || !__STDC__ && !alloca */
726f6388
JA
55# endif /* !HAVE_ALLOCA_H */
56#endif /* !__GNUC__ */
57
ccc6cda3 58#endif /* _MEMALLOC_H_ */