<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/139071>139071</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [flang][OpenMP] Lowering of OpenMP construct fails in a procedure with alternate entries
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang:openmp
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          eugeneepshteyn
      </td>
    </tr>
</table>

<pre>
    Reproducer:
```
 subroutine process_a(n, a)
    integer, intent(in) :: n
    real, intent(inout) :: a(n)
    integer :: i

    !$omp parallel do
    do i = 1, n
      a(i) = a(i) * 2.0
    end do
    !$omp end parallel do

 return

    entry process_b(n, b)
      
      !$omp parallel do
 do i = 1, n
        a(i) = i * i
      end do
      !$omp end parallel do

  end subroutine process_a
```
Failure:
```
$ flang -c -fopenmp omp-entry.f90 
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
error: loc("/home/eepshteyn/tmp/omp-entry.f90":22:3): operation with block successors must terminate its parent block
error: verification of lowering to FIR failed

$ flang --version
flang version 21.0.0git (https://github.com/eugeneepshteyn/llvm-project.git 4eebc8d003f25adf52a75702d6ee24f69330d920)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Build config: +unoptimized, +assertions
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEVFur4zYQ_jXKy-Agjy-JH_yQNBgKLS1LoY-LbI0ddWXJ6HIu_fVFds5Jzmm3CyHI0ueZ-S6y8F5Nhqhl1ZlVl52I4WpdS3EiQ7T4a6BXs-utfG2_0OKsjAM5VpwYP7Ga3378BD72zsagDMHi7EDefxUMj4bhTyAYNgkDAMoEmsil3bQ0geFRGYYNpJrFCcwN6EjoTygbwwPwVv1T4bdTlebbThjmDEs7L7AIJ7QmDdLezqQFBay4QJ56vfWGtbjaml0eHvAEuOc3FBl5L3RvkrY_NkoQRyE6cx-KTHCv70r1b0r1d0IA98X3GHxv_E8E1Dq5ej_-MPmPZ1-3_9PfjxnohNLR0b_DwbCEUQszQTZANtqFzLyAnZdslWE_NjyRXSEZ5sm_Z-GMMlNa_raQ-fV38HFZrAugzK2W8uCD0hroZSGnZjJBaGDVOfvzcSezS1DWsOrC-Imcsym9oO3A8MgQGXZXOxPD7j3tDLswLwy7DxMmbHFa_4rkUnECu5ATqTg8q3CFXtvhG_g4JHWs8zBHHyCQm5URgUAFn9QlEzbo4zxP5NSohq2aHUHbZ3LKTBAsdD9_gVEoTXIz5EHO7ImcT-xu6sHtGTDf8z2fVACGx2sIi0-2YMewm1S4xn4_2DmR_nDPGXZaP83Z4uxfNIR9er8k6oej5LwYsRJyrFAcqgNHWRNhOdZNUXDZIN-S-4dwE4XE6OVYf63LLJpvxj6bTCsTX7LJxAS6OhISZitJJ-hivXph_HSOSksYrBnV6jzDczTJvln9TTJFnOFZeE8uyeQfU7aTbSGbohE7avNDWR_44dg0u2tby6bpaxR501AvRlkfypLK8iAbGkVZ4061yLHiFT_mWBzzej_2eChHrI8D5Vxgz0pOs1B6n6TZWzftlPeR2rxo-CHfadGT9uvnE3E1gRWnLeIpMtVl59pV1D5OnpVcKx_8vVZQQa8f3-3V6sKq85Z4Vl3gl7cY2PHtHgzW-ODiENZM-HQfxHYlZXS0JVHoQG7NXIqvIr-LTrf_E4M0zifzGXYrT8-wu1F9avGfAAAA__8IzuS5">