Hi all,

here is a small patch for a ICE-on-valid regression. Regtested on
x86_64-unknown-linux-gnu. Ok for trunk/4.8/4.7?

Cheers,
Janus


2014-02-16  Janus Weil  <ja...@gcc.gnu.org>

    PR fortran/55907
    * resolve.c (build_default_init_expr): Don't initialize character
    variable if -fno-automatic is given.


2014-02-16  Janus Weil  <ja...@gcc.gnu.org>

    PR fortran/55907
    * gfortran.dg/init_flag_12.f90: New.
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c       (revision 207804)
+++ gcc/fortran/resolve.c       (working copy)
@@ -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 ();
! { 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...@gmail.com>

subroutine cchaine (i)
  implicit none
  integer :: i
  character(len=i) :: chaine
  write(*,*) chaine
end subroutine 

Reply via email to