------- Comment #4 from janus at gcc dot gnu dot org 2009-12-26 22:31 ------- Here are test cases in Fortran and C, which both use GOTOs. Again, the Fortran code ICEs, while the C code gives an error message:
subroutine sub integer :: nRead !$omp critical if (nRead<3) goto 100 !$omp end critical 100 nRead=4 end subroutine void sub () { int nRead; #pragma omp critical if (nRead<3) goto out; out: nRead=4; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42484