[Bug fortran/105242] New: [OpenMP] ICE with EXIT in collapsed loop: in gfc_trans_exit, at fortran/trans-stmt.cc:6147

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Apr 12 16:43:14 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105242

            Bug ID: 105242
           Summary: [OpenMP] ICE with EXIT in collapsed loop: in
                    gfc_trans_exit, at fortran/trans-stmt.cc:6147
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, openmp
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org
  Target Milestone: ---

The following code (reduced code from a real-world project) gives an ICE but
compiles with other vendors' compilers. It fails with GCC 10, 11 and trunk/12
with:

    8 |      if (kk == 7) exit
      |                      1
internal compiler error: in gfc_trans_exit, at fortran/trans-stmt.cc:6147
0x69734b gfc_trans_exit(gfc_code*)
        ../../repos/gcc/gcc/fortran/trans-stmt.cc:6147
0xa17360 trans_code
        ../../repos/gcc/gcc/fortran/trans.cc:1947
0xa9e4b5 gfc_trans_if_1
        ../../repos/gcc/gcc/fortran/trans-stmt.cc:1484
0xaa84cf gfc_trans_if(gfc_code*)
        ../../repos/gcc/gcc/fortran/trans-stmt.cc:1516
0xa17563 trans_code
        ../../repos/gcc/gcc/fortran/trans.cc:2004
0xa8ad58 gfc_trans_omp_code
        ../../repos/gcc/gcc/fortran/trans-openmp.cc:4399
0xa9a6aa gfc_trans_omp_do
        ../../repos/gcc/gcc/fortran/trans-openmp.cc:5381




!$omp target parallel do simd collapse(3)
do ii = i1, i2
 do jj = j1, j2
   do kk = k1, k2
     if (kk > 5) then
       k = 0
     end if
     if (kk == 7) exit
  end do
  end do
end do
!$omp end target parallel do simd
end


More information about the Gcc-bugs mailing list