1 ! RUN: %python %S/../test_errors.py %s %flang -fopenacc
3 ! Check OpenACC canonalization validity for the construct defined below:
9 program openacc_clause_validity
16 real(8) :: aa(256, 256)
20 !ERROR: DO loop after the LOOP directive must have loop control
44 !$acc end parallel loop
50 !$acc end kernels loop
58 !ERROR: DO loop after the PARALLEL LOOP directive must have loop control
63 !ERROR: DO loop after the KERNELS LOOP directive must have loop control
68 !ERROR: DO loop after the SERIAL LOOP directive must have loop control
74 !ERROR: The loop construct with the TILE clause must be followed by 2 tightly-nested loops
81 !ERROR: The loop construct with the TILE clause must be followed by 2 tightly-nested loops
82 !$acc parallel loop tile(2, 2)
88 !ERROR: TILE and COLLAPSE clause may not appear on loop construct associated with DO CONCURRENT
89 !$acc loop collapse(2)
90 do concurrent (i
= 1:N
, j
= 1:N
)
96 !ERROR: TILE and COLLAPSE clause may not appear on loop construct associated with DO CONCURRENT
98 do concurrent (i
= 1:N
, j
= 1:N
)
103 end program openacc_clause_validity