integrate.c (output_inline_function): Don't hold private pointers to 'struct function...
authorGeoffrey Keating <geoffk@apple.com>
Sun, 22 Dec 2002 06:42:16 +0000 (06:42 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Sun, 22 Dec 2002 06:42:16 +0000 (06:42 +0000)
* integrate.c (output_inline_function): Don't hold private
pointers to 'struct function' over GC calls.

From-SVN: r60396

gcc/ChangeLog
gcc/integrate.c

index ed993b0186087dcc87b3c20c4b6070f2c8c3a8e6..807897d060e3e88c56ba9d7d24ae60ef85d562cb 100644 (file)
@@ -1,3 +1,8 @@
+2002-12-21  Geoffrey Keating  <geoffk@apple.com>
+
+       * integrate.c (output_inline_function): Don't hold private
+       pointers to 'struct function' over GC calls.
+
 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
 
        * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
index eace82abe94f195cebd93c83470ee6e5ca24e15d..7e1f29f5bb07057adbf21a0dd6439b8b937be617 100644 (file)
@@ -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;