File: /usr/include/alloca.h

1     /* Copyright (C) 1992, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
2        This file is part of the GNU C Library.
3     
4        The GNU C Library is free software; you can redistribute it and/or
5        modify it under the terms of the GNU Library General Public License as
6        published by the Free Software Foundation; either version 2 of the
7        License, or (at your option) any later version.
8     
9        The GNU C Library is distributed in the hope that it will be useful,
10        but WITHOUT ANY WARRANTY; without even the implied warranty of
11        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12        Library General Public License for more details.
13     
14        You should have received a copy of the GNU Library General Public
15        License along with the GNU C Library; see the file COPYING.LIB.  If not,
16        write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17        Boston, MA 02111-1307, USA.  */
18     
19     #ifndef	_ALLOCA_H
20     #define	_ALLOCA_H	1
21     
22     #include <features.h>
23     
24     #define	__need_size_t
25     #include <stddef.h>
26     
27     __BEGIN_DECLS
28     
29     /* Remove any previous definitions.  */
30     #undef	alloca
31     
32     /* Allocate a block that will be freed when the calling function exits.  */
33     extern void *alloca (size_t __size) __THROW;
34     
35     #ifdef	__GNUC__
36     # define alloca(size)	__builtin_alloca (size)
37     #endif /* GCC.  */
38     
39     __END_DECLS
40     
41     #endif /* alloca.h */
42