diff options
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c index 4b2df475467..654a3af4860 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2465,7 +2465,7 @@ instantiate_decls (fndecl, valid_only) { tree decl; - if (DECL_INLINE (fndecl)) + if (DECL_INLINE (fndecl) || DECL_DEFER_OUTPUT (fndecl)) /* When compiling an inline function, the obstack used for rtl allocation is the maybepermanent_obstack. Calling `resume_temporary_allocation' switches us back to that @@ -2484,7 +2484,7 @@ instantiate_decls (fndecl, valid_only) /* Now process all variables defined in the function or its subblocks. */ instantiate_decls_1 (DECL_INITIAL (fndecl), valid_only); - if (DECL_INLINE (fndecl)) + if (DECL_INLINE (fndecl) || DECL_DEFER_OUTPUT (fndecl)) { /* Save all rtl allocated for this function by raising the high-water mark on the maybepermanent_obstack. */ |