OSDN Git Service

(fold, COND_EXPR case): All simplified results
[pf3gnuchains/gcc-fork.git] / gcc / stack.h
1 /* stack.h - structed access to object stacks
2    Copyright (C) 1988 Free Software Foundation, Inc.
3    Contributed by Michael Tiemann (tiemann@cygnus.com).
4
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
8 later version.
9
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.
14
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, 675 Mass Ave, Cambridge, MA 02139, USA.  */
18
19 /* Summary: this file contains additional structures that layer
20    on top of obstacks for GNU C++.  */
21
22 /* Stack of data placed on obstacks.  */
23    
24 struct stack_level
25 {
26   /* Pointer back to previous such level.  */
27   struct stack_level *prev;
28
29   /* Point to obstack we should return to.  */
30   struct obstack *obstack;
31
32   /* First place we start putting data.  */
33   tree *first;
34
35   /* Number of entries we can have from `first'.
36      Right now we are dumb: if we overflow, abort.  */
37   int limit;
38 };
39
40 struct stack_level *push_stack_level PROTO((struct obstack *, char *, int));
41 struct stack_level *pop_stack_level PROTO((struct stack_level *));