1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
! { dg-do compile }
program associate1
type dl
integer :: i
end type
type dt
integer :: i
real :: a(3, 3)
type(dl) :: c(3, 3)
end type
integer :: v, i, j
real :: a(3, 3)
type(dt) :: b(3)
i = 1
j = 2
associate(k => v, l => a(i, j), m => a(i, :))
associate(n => b(j)%c(:, :)%i, o => a, p => b)
!$omp parallel shared (l) ! { dg-error "ASSOCIATE name" }
!$omp end parallel
!$omp parallel firstprivate (m) ! { dg-error "ASSOCIATE name" }
!$omp end parallel
!$omp parallel reduction (+: k) ! { dg-error "ASSOCIATE name" }
!$omp end parallel
!$omp parallel do firstprivate (k) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
end do
!$omp parallel do lastprivate (n) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
end do
!$omp parallel do private (o) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
end do
!$omp parallel do shared (p) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
end do
!$omp task private (k) ! { dg-error "ASSOCIATE name" }
!$omp end task
!$omp task shared (l) ! { dg-error "ASSOCIATE name" }
!$omp end task
!$omp task firstprivate (m) ! { dg-error "ASSOCIATE name" }
!$omp end task
!$omp do private (l) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
end do
!$omp do reduction (*: k) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
end do
!$omp sections private(o) ! { dg-error "ASSOCIATE name" }
!$omp section
!$omp section
!$omp end sections
!$omp parallel sections firstprivate(p) ! { dg-error "ASSOCIATE name" }
!$omp section
!$omp section
!$omp endparallelsections
!$omp parallelsections lastprivate(m) ! { dg-error "ASSOCIATE name" }
!$omp section
!$omp section
!$omp endparallelsections
!$omp sections reduction(+:k) ! { dg-error "ASSOCIATE name" }
!$omp section
!$omp section
!$omp end sections
!$omp simd private (l) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
end do
k = 1
!$omp simd lastprivate (m) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
end do
k = 1
!$omp simd reduction (+: k) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
end do
k = 1
!$omp simd linear (k : 2) ! { dg-error "ASSOCIATE name" }
do i = 1, 10
k = k + 2
end do
end associate
end associate
end program
|