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