summaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2002-12-22 06:42:16 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2002-12-22 06:42:16 +0000
commit24d6a3e75ae68d1323f2c6cc943aef3e2ed3f404 (patch)
tree1680d76b12c6fb40e5c473f32fa276772622c57a /gcc/integrate.c
parentc03bb5e0cc90421640337d60438380e2008ab9bd (diff)
downloadgcc-24d6a3e75ae68d1323f2c6cc943aef3e2ed3f404.tar.gz
* integrate.c (output_inline_function): Don't hold private
pointers to 'struct function' over GC calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60396 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r--gcc/integrate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index eace82abe94..7e1f29f5bb0 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -3004,15 +3004,17 @@ set_decl_abstract_flags (decl, setting)
from its DECL_SAVED_INSNS. Used for inline functions that are output
at end of compilation instead of where they came in the source. */
+static GTY(()) struct function *old_cfun;
+
void
output_inline_function (fndecl)
tree fndecl;
{
- struct function *old_cfun = cfun;
enum debug_info_type old_write_symbols = write_symbols;
const struct gcc_debug_hooks *const old_debug_hooks = debug_hooks;
struct function *f = DECL_SAVED_INSNS (fndecl);
+ old_cfun = cfun;
cfun = f;
current_function_decl = fndecl;