1! RUN: %python %S/../test_errors.py %s %flang_fc1 -fopenmp 2! OpenMP Version 5.1 3! Check OpenMP construct validity for the following directives: 4! 2.21.2 Threadprivate Directive 5 6program main 7 integer :: i, N = 10 8 integer, save :: x 9 common /blk/ y 10 11 !$omp threadprivate(x, /blk/) 12 13 !$omp parallel num_threads(x) 14 !$omp end parallel 15 16 !$omp single copyprivate(x, /blk/) 17 !$omp end single 18 19 !$omp do schedule(static, x) 20 do i = 1, N 21 y = x 22 end do 23 !$omp end do 24 25 !$omp parallel copyin(x, /blk/) 26 !$omp end parallel 27 28 !$omp parallel if(x > 1) 29 !$omp end parallel 30 31 !$omp teams thread_limit(x) 32 !$omp end teams 33 34 !ERROR: A THREADPRIVATE variable cannot be in PRIVATE clause 35 !ERROR: A THREADPRIVATE variable cannot be in PRIVATE clause 36 !$omp parallel private(x, /blk/) 37 !$omp end parallel 38 39 !ERROR: A THREADPRIVATE variable cannot be in FIRSTPRIVATE clause 40 !ERROR: A THREADPRIVATE variable cannot be in FIRSTPRIVATE clause 41 !$omp parallel firstprivate(x, /blk/) 42 !$omp end parallel 43 44 !ERROR: A THREADPRIVATE variable cannot be in SHARED clause 45 !ERROR: A THREADPRIVATE variable cannot be in SHARED clause 46 !$omp parallel shared(x, /blk/) 47 !$omp end parallel 48end 49