Issue |
139071
|
Summary |
[flang][OpenMP] Lowering of OpenMP construct fails in a procedure with alternate entries
|
Labels |
flang:openmp
|
Assignees |
|
Reporter |
eugeneepshteyn
|
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
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs