------- 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
