aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanne Blomqvist <jb@gcc.gnu.org>2009-10-29 01:25:08 +0200
committerJanne Blomqvist <jb@gcc.gnu.org>2009-10-29 01:25:08 +0200
commit0e8bc11dccde2b9ad83295ab9fc2c903444c6a6e (patch)
tree97ca155208fde5fbec7173d5ecf373b5c1bfc7f4
parentaff4273cf1edfca78d92455f262438866357a301 (diff)
downloadgcc-0e8bc11dccde2b9ad83295ab9fc2c903444c6a6e.zip
gcc-0e8bc11dccde2b9ad83295ab9fc2c903444c6a6e.tar.gz
gcc-0e8bc11dccde2b9ad83295ab9fc2c903444c6a6e.tar.bz2
PR fortran/41860 Treat vars as save with -fno-automatic
From-SVN: r153689
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 712c5a0..68747bc 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/41860
+ * resolve.c (apply_default_init_local): Treat -fno-automatic as if
+ var was saved.
+
2009-10-28 Rafael Avila de Espindola <espindola@google.com>
* trans-common.c (create_common): Set TREE_PUBLIC to false on
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index b17e8fe..5a5fccc 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -8630,7 +8630,8 @@ apply_default_init_local (gfc_symbol *sym)
/* For saved variables, we don't want to add an initializer at
function entry, so we just add a static initializer. */
- if (sym->attr.save || sym->ns->save_all)
+ if (sym->attr.save || sym->ns->save_all
+ || gfc_option.flag_max_stack_var_size == 0)
{
/* Don't clobber an existing initializer! */
gcc_assert (sym->value == NULL);