aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2014-02-17 13:46:52 +0100
committerJanus Weil <janus@gcc.gnu.org>2014-02-17 13:46:52 +0100
commitce18e2a6a18cb0952b586e39606360c38b89a7d6 (patch)
treec0a548324940d8677e4419407e37638b259422fc /gcc
parent248d745ac2f805567b7af9379d3023aa52719fe2 (diff)
downloadgcc-ce18e2a6a18cb0952b586e39606360c38b89a7d6.zip
gcc-ce18e2a6a18cb0952b586e39606360c38b89a7d6.tar.gz
gcc-ce18e2a6a18cb0952b586e39606360c38b89a7d6.tar.bz2
re PR fortran/55907 (ICE with -fno-automatic -finit-local-zero)
2014-02-17 Janus Weil <janus@gcc.gnu.org> PR fortran/55907 * resolve.c (build_default_init_expr): Don't initialize character variable if -fno-automatic is given. 2014-02-17 Janus Weil <janus@gcc.gnu.org> PR fortran/55907 * gfortran.dg/init_flag_12.f90: New. From-SVN: r207823
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/init_flag_12.f9013
4 files changed, 25 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index b6fe3cd..847b80e 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2014-02-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55907
+ * resolve.c (build_default_init_expr): Don't initialize character
+ variable if -fno-automatic is given.
+
2014-02-15 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/59599
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 69ec7bf..b756fe2 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -10530,7 +10530,7 @@ build_default_init_expr (gfc_symbol *sym)
init_expr = NULL;
}
if (!init_expr && gfc_option.flag_init_character == GFC_INIT_CHARACTER_ON
- && sym->ts.u.cl->length)
+ && sym->ts.u.cl->length && gfc_option.flag_max_stack_var_size != 0)
{
gfc_actual_arglist *arg;
init_expr = gfc_get_expr ();
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a4d8877..e94bd89 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-02-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55907
+ * gfortran.dg/init_flag_12.f90: New.
+
2014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
Ilya Tocar <ilya.tocar@intel.com>
diff --git a/gcc/testsuite/gfortran.dg/init_flag_12.f90 b/gcc/testsuite/gfortran.dg/init_flag_12.f90
new file mode 100644
index 0000000..5844398
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/init_flag_12.f90
@@ -0,0 +1,13 @@
+! { dg-do compile }
+! { dg-options "-fno-automatic -finit-local-zero" }
+!
+! PR 55907: [4.7/4.8/4.9 Regression] ICE with -fno-automatic -finit-local-zero
+!
+! Contributed by J.R. Garcia <garcia.espinosa.jr@gmail.com>
+
+subroutine cchaine (i)
+ implicit none
+ integer :: i
+ character(len=i) :: chaine
+ write(*,*) chaine
+end subroutine