Issue |
130159
|
Summary |
[flang][OpenMP] "Call parameter type does not match function signature!" for private variables
|
Labels |
flang
|
Assignees |
|
Reporter |
mjklemm
|
When compiling the below rerproducer, the compiler asserts with the following message:
```text
> flang-new -fopenmp --offload-arch=gfx90a -c bad_signature_reproducer.f90 -o bad_signature_reproducer.o
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
Call parameter type does not match function signature!
%omp.private.alloc = alloca i32, align 4, addrspace(5)
ptr call void @_QMotherProutine(ptr addrspace(5) %omp.private.alloc)
error: failed to create the LLVM module
```
This seems to be a regression that was introduced with https://github.com/llvm/llvm-project/pull/124019.
Reproducer:
```Fortran
module other
contains
subroutine routine(i)
implicit none
integer(4) :: i
end subroutine routine
end module other
module mod
implicit none
contains
subroutine failing(d)
use other, only: routine
implicit none
integer(4) :: i, d
!$omp target teams distribute parallel do
do i = 1, d
call routine(i)
end do
end subroutine failing
end module mod
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs