2 implicit none (external, type)
3 integer :: a
, b(0:2) = [1, 1, 1]
4 integer(8) :: c(0:1) = [not(0_8), not(0_8)]
8 !$omp task in_reduction (*: b) in_reduction (iand: c) &
9 !$omp& in_reduction (+: a)
12 c(1) = iand (c(1), not(ishft(1_8, i
+ 16)))
18 !$omp scope reduction (task, +: a)
19 !$omp scope reduction (task, *: b)
20 !$omp scope reduction (task, iand: c)
25 a
= a
+ 1; b(0) = b(0) * 2; call bar (2); b(2) = b(2) * 3
26 c(1) = iand(c(1), not(ishft(1_8, 2)))
30 b(0) = b(0) * 2; call bar (4); b(2) = b(2) * 3
31 c(1) = iand(c(1), not(ishft(1_8, 4))); a
= a
+ 1
35 call bar (6); b(2) = b(2) * 3; c(1) = iand(c(1), not(ishft(1_8, 6)))
36 a
= a
+ 1; b(0) = b(0) * 2
40 b(2) = b(2) * 3; c(1) = iand(c(1), not(ishft(1_8, 8)))
41 a
= a
+ 1; b(0) = b(0) * 2; call bar (8)
45 c(1) = iand(c(1), not(ishft(1_8, 10))); a
= a
+ 1
46 b(0) = b(0) * 2; call bar (10); b(2) = b(2) * 3
50 a
= a
+ 1; b(0) = b(0) * 2; b(2) = b(2) * 3
51 c(1) = iand(c(1), not(ishft(1_8, 12))); call bar (12)
55 a
= a
+ 1; b(0) = b(0) * 2; b(2) = b(2) * 3
56 call bar (14); c(1) = iand (c(1), not(ishft(1_8, 14)))
67 implicit none (type, external)
68 integer, volatile :: one
71 if (a
/= 30 .or
. b(0) /= 64 .or
. b(1) /= ishft (1, 12) .or
. b(2) /= 3 * 3 * 3 * 3 * 3 * 3 &
72 .or
. c(0) /= not(0_8) .or
. c(1) /= not(int(z
'15541554', kind
=8))) &
80 if (a
/= 35 .or
. b(0) /= 128 .or
. b(1) /= ishft(1, 14) .or
. b(2) /= 3 * 3 * 3 * 3 * 3 * 3 * 3 &
81 .or
. c(0) /= not(0_8) .or
. c(1) /= not(int(z
'55545554', kind
=8))) &