https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67429
--- Comment #12 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > > Created attachment 36283 [details] > > Patch for PR65045 that displays the problem > > Paul, > > Your patch for gcc/fortran/decl.c does not apply on trunk: > > if (state == COMP_BLOCK) > > is now > > while (state == COMP_BLOCK) With the adjusted patch (IF replaced with WHILE) the ICE in PR65045 is gone and gfortran retest cleanly, even if the error for the new test is /opt/gcc/p_work/gcc/testsuite/gfortran.dg/pr65045.f90:7:6: Error: Symbol 'i' at (1) is not appropriate for an expression /opt/gcc/p_work/gcc/testsuite/gfortran.dg/pr65045.f90:9:59: else ! { dg-error "Unexpected ELSE statement" } 1 Error: Unexpected ELSE statement at (1) /opt/gcc/p_work/gcc/testsuite/gfortran.dg/pr65045.f90:10:6: Error: 'i' at (1) is not a variable /opt/gcc/p_work/gcc/testsuite/gfortran.dg/pr65045.f90:11:6: end if ! { dg-error "Expecting END BLOCK statement" } 1 Error: Expecting END BLOCK statement at (1) /opt/gcc/p_work/gcc/testsuite/gfortran.dg/pr65045.f90:13:8: print*,i ! { dg-error "not appropriate for an expression" } 1 Error: Symbol 'i' at (1) is not appropriate for an expression