blob: 64fe048fa3e6038a182055d26449b0151a027f13 [file] [log] [blame] [edit]
! RUN: %python %S/../test_errors.py %s %flang_fc1 -fopenmp
! OpenMP Version 5.1
! Check OpenMP construct validity for the following directives:
! 2.21.2 Threadprivate Directive
subroutine host_assoc_fail()
integer :: i
! ERROR: A variable that appears in a THREADPRIVATE directive must be declared in the scope of a module or have the SAVE attribute, either explicitly or implicitly
!$omp threadprivate(i)
real :: r
! ERROR: A variable that appears in a THREADPRIVATE directive must be declared in the scope of a module or have the SAVE attribute, either explicitly or implicitly
!$omp threadprivate(r)
contains
subroutine internal()
!$omp parallel
print *, i, r
!$omp end parallel
end subroutine internal
end subroutine host_assoc_fail
! This sub-test is not supposed to emit a compiler error.
subroutine host_assoc()
integer, save :: i
!$omp threadprivate(i)
real, save :: r
!$omp threadprivate(r)
contains
subroutine internal()
!$omp parallel
print *, i, r
!$omp end parallel
end subroutine internal
end subroutine host_assoc