diff options
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index 50699e6..f9f02f3 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -3773,7 +3773,13 @@ rest_of_compilation (decl) /* We're done with this function. Free up memory if we can. */ free_after_parsing (cfun); if (! DECL_DEFER_OUTPUT (decl)) - free_after_compilation (cfun); + { + free_after_compilation (cfun); + + /* Clear integrate.c's pointer to the cfun structure we just + destroyed. */ + DECL_SAVED_INSNS (decl) = 0; + } cfun = 0; ggc_collect (); |