summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/cc/include/stack.h
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/cc/include/stack.h')
-rw-r--r--gnu/usr.bin/cc/include/stack.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/usr.bin/cc/include/stack.h b/gnu/usr.bin/cc/include/stack.h
new file mode 100644
index 0000000..c5d9a25
--- /dev/null
+++ b/gnu/usr.bin/cc/include/stack.h
@@ -0,0 +1,41 @@
+/* stack.h - structed access to object stacks
+ Copyright (C) 1988 Free Software Foundation, Inc.
+ Contributed by Michael Tiemann (tiemann@cygnus.com).
+
+This program 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 2, or (at your option) any
+later version.
+
+This program 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 this program; if not, write to the Free Software
+Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+/* Summary: this file contains additional structures that layer
+ on top of obstacks for GNU C++. */
+
+/* Stack of data placed on obstacks. */
+
+struct stack_level
+{
+ /* Pointer back to previous such level. */
+ struct stack_level *prev;
+
+ /* Point to obstack we should return to. */
+ struct obstack *obstack;
+
+ /* First place we start putting data. */
+ tree *first;
+
+ /* Number of entries we can have from `first'.
+ Right now we are dumb: if we overflow, abort. */
+ int limit;
+};
+
+struct stack_level *push_stack_level PROTO((struct obstack *, char *, int));
+struct stack_level *pop_stack_level PROTO((struct stack_level *));
OpenPOWER on IntegriCloud