aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1997-12-06 17:31:01 -0700
committerJeff Law <law@gcc.gnu.org>1997-12-06 17:31:01 -0700
commit956d69504d77d301015532d2f0564213f0efc706 (patch)
treeec80f8d1e46852ac1ba45aecdcda7201c302ac6f /gcc/tree.h
parent27b6b158c29b45fd80c2f104d5da1f4bc818d7ab (diff)
downloadgcc-956d69504d77d301015532d2f0564213f0efc706.zip
gcc-956d69504d77d301015532d2f0564213f0efc706.tar.gz
gcc-956d69504d77d301015532d2f0564213f0efc706.tar.bz2
Merge from gcc-2.8
From-SVN: r16987
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h54
1 files changed, 51 insertions, 3 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index bfde55e..27fa47d 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -752,7 +752,7 @@ struct tree_block
the same way that the first union alternative would be passed. */
#define TYPE_TRANSPARENT_UNION(NODE) ((NODE)->type.transparent_union_flag)
-/* Indicated that objects of this type should be layed out in as
+/* Indicated that objects of this type should be laid out in as
compact a way as possible. */
#define TYPE_PACKED(NODE) ((NODE)->type.packed_flag)
@@ -1232,7 +1232,9 @@ extern char *oballoc PROTO((int));
extern char *permalloc PROTO((int));
extern char *savealloc PROTO((int));
extern char *expralloc PROTO((int));
+#ifdef NEED_DECLARATION_FREE
extern void free PROTO((void *));
+#endif
/* Lowest level primitive for allocating a node.
The TREE_CODE is the only argument. Contents are initialized
@@ -1711,8 +1713,8 @@ extern void expand_null_return PROTO((void));
extern void expand_return PROTO((tree));
extern void expand_start_bindings PROTO((int));
extern void expand_end_bindings PROTO((tree, int, int));
-extern void start_cleanup_deferal PROTO((void));
-extern void end_cleanup_deferal PROTO((void));
+extern void start_cleanup_deferral PROTO((void));
+extern void end_cleanup_deferral PROTO((void));
extern void mark_block_as_eh_region PROTO((void));
extern void mark_block_as_not_eh_region PROTO((void));
extern int is_eh_region PROTO((void));
@@ -1764,6 +1766,52 @@ extern void rrotate_double PROTO((HOST_WIDE_INT, HOST_WIDE_INT,
extern int operand_equal_p PROTO((tree, tree, int));
extern tree invert_truthvalue PROTO((tree));
+/* Interface of the DWARF2 unwind info support. */
+
+/* Decide whether we want to emit frame unwind information for the current
+ translation unit. */
+
+extern int dwarf2out_do_frame PROTO((void));
+
+/* Generate a new label for the CFI info to refer to. */
+
+extern char *dwarf2out_cfi_label PROTO((void));
+
+/* Entry point to update the canonical frame address (CFA). */
+
+extern void dwarf2out_def_cfa PROTO((char *, unsigned, long));
+
+/* Add the CFI for saving a register window. */
+
+extern void dwarf2out_window_save PROTO((char *));
+
+/* Add a CFI to update the running total of the size of arguments pushed
+ onto the stack. */
+
+extern void dwarf2out_args_size PROTO((char *, long));
+
+/* Entry point for saving a register to the stack. */
+
+extern void dwarf2out_reg_save PROTO((char *, unsigned, long));
+
+/* Entry point for saving the return address in the stack. */
+
+extern void dwarf2out_return_save PROTO((char *, long));
+
+/* Entry point for saving the return address in a register. */
+
+extern void dwarf2out_return_reg PROTO((char *, unsigned));
+
+/* Output a marker (i.e. a label) for the beginning of a function, before
+ the prologue. */
+
+extern void dwarf2out_begin_prologue PROTO((void));
+
+/* Output a marker (i.e. a label) for the absolute end of the generated
+ code for a function definition. */
+
+extern void dwarf2out_end_epilogue PROTO((void));
+
/* The language front-end must define these functions. */
/* Function of no arguments for initializing lexical scanning. */