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