diff options
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r-- | gcc/fortran/trans-decl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 779df16..f2cf2de 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -3649,7 +3649,8 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, gfc_wrapped_block * block) NULL_TREE); } - if (sym->ts.type == BT_CLASS && TREE_STATIC (sym->backend_decl) + if (sym->ts.type == BT_CLASS + && (sym->attr.save || gfc_option.flag_max_stack_var_size == 0) && CLASS_DATA (sym)->attr.allocatable) { tree vptr; |