2 ! { dg-options "-fopenmp -ffrontend-optimize -fdump-tree-original" }
3 ! PR 50690 - this used to ICE because workshare could not handle
5 ! To test for correct execution, run this program (but don't forget
6 ! to unset the stack limit).
9 integer, parameter :: n = 10000000
10 real, parameter :: eps = 3e-7
12 real :: A(n), B(5), C(n)
19 !$omp parallel default(shared)
21 A(:) = A(:)*cos(B(1))+A(:)*cos(B(1))
22 !$omp end workshare nowait
23 !$omp end parallel ! sync is implied here
29 if (abs(a(j)-c(j)) > eps) then
30 print *,1,j,a(j), c(j)
38 !$omp parallel workshare default(shared)
39 A(:) = A(:)*cos(B(1))+A(:)*cos(B(1))
40 !$omp end parallel workshare
45 if (abs(a(j)-c(j)) > eps) then
46 print *,2,j,a(j), c(j)
52 ! { dg-final { scan-tree-dump-times "__var" 0 "original" } }
53 ! { dg-final { cleanup-tree-dump "original" } }