1 /* stack.h - structed access to object stacks
2 Copyright (C) 1988, 2000, 2003 Free Software Foundation, Inc.
3 Contributed by Michael Tiemann (tiemann@cygnus.com).
5 This program is free software; you can redistribute it and/or modify it
6 under the terms of the GNU General Public License as published by the
7 Free Software Foundation; either version 2, or (at your option) any
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. */
20 /* Summary: this file contains additional structures that layer
21 on top of obstacks for GNU C++. */
23 /* Stack of data placed on obstacks. */
27 /* Pointer back to previous such level. */
28 struct stack_level
*prev
;
30 /* Point to obstack we should return to. */
31 struct obstack
*obstack
;
33 /* First place we start putting data. */
36 /* Number of entries we can have from `first'.
37 Right now we are dumb: if we overflow, abort. */
41 struct stack_level
*push_stack_level (struct obstack
*, char *, int);
42 struct stack_level
*pop_stack_level (struct stack_level
*);