Files
clang-p2996/flang/test/Semantics/OpenMP/omp-default-none.f90
Kiran Chandramohan 44d33f3aa3 [Flang][OpenMP] Do not consider procedure names for data-sharing
An incorrect error was issued for procedure names occuring in OpenMP
regions with default clause set to NONE. Fix is to ignore all cases
where names are various kinds of procedures.

Fixes issue https://github.com/flang-compiler/f18-llvm-project/issues/1350

Reviewed By: peixin

Differential Revision: https://reviews.llvm.org/D143384
2023-02-09 18:33:01 +00:00

42 lines
884 B
Fortran

!RUN: %python %S/../test_errors.py %s %flang -fopenmp
! Positive tests for default(none)
subroutine sb2(x)
real :: x
end subroutine
subroutine sb1
integer :: i
real :: a(10), b(10), k
inc(x) = x + 1.0
abstract interface
function iface(a, b)
real, intent(in) :: a, b
real :: iface
end function
end interface
procedure(iface) :: compute
procedure(iface), pointer :: ptr => NULL()
ptr => fn2
!$omp parallel default(none) shared(a,b,k) private(i)
do i = 1, 10
b(i) = k + sin(a(i)) + inc(a(i)) + fn1(a(i)) + compute(a(i),k) + add(k, k)
call sb3(b(i))
call sb2(a(i))
end do
!$omp end parallel
contains
function fn1(x)
real :: x, fn1
fn1 = x
end function
function fn2(x, y)
real, intent(in) :: x, y
real :: fn2
fn2 = x + y
end function
subroutine sb3(x)
real :: x
print *, x
end subroutine
end subroutine