summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-05 03:49:52 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-05 03:49:52 +0000
commit521dd5240f993a9c1636894bd241e9c197f5e6d8 (patch)
tree2c396fe4710d0e39b742d734bf2a7abf16783c92 /gcc/emit-rtl.c
parent6a5fcf30eadb9ee7c7e3479f9391a468ee1dae0a (diff)
downloadgcc-521dd5240f993a9c1636894bd241e9c197f5e6d8.tar.gz
* Makefile.in (stor-layout.o): Depend on ggc.h.
(expr.o): Depend on ggc.h. (profile.o): Depend on ggc.h. (stor-layout.o): Depend on ggc.h. * emit-rtl.c (init_emit_once): Add gc roots. * expr.c: Include ggc.h. (emit_block_move): Add gc roots. (clear_storage): Likewise. * expr.h (init_stor_layout_once): New function. * profile.c: Include ggc.h. (init_arc_profiler): profiler_label is a root. * scan.c (make_sstring_space): Trust xrealloc to function correctly with first parameter NULL. * stor-layout.c: Include ggc.h. (set_sizetype): Add gc root. (init_stor_layout_once): New function. * toplev.c (compile_file): Call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29122 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index a781e2da79d..0b2c10de070 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -3685,6 +3685,15 @@ init_emit_once (line_numbers)
init_function_start. */
INIT_EXPANDERS;
#endif
+
+ ggc_add_rtx_root (&const_tiny_rtx[0][0], sizeof(const_tiny_rtx)/sizeof(rtx));
+
+ ggc_add_rtx_root (&pic_offset_table_rtx, 1);
+ ggc_add_rtx_root (&struct_value_rtx, 1);
+ ggc_add_rtx_root (&struct_value_incoming_rtx, 1);
+ ggc_add_rtx_root (&static_chain_rtx, 1);
+ ggc_add_rtx_root (&static_chain_incoming_rtx, 1);
+ ggc_add_rtx_root (&return_address_pointer_rtx, 1);
}
/* Query and clear/ restore no_line_numbers. This is used by the