gcc/fortran/
[official-gcc.git] / gcc / testsuite / gfortran.dg / goacc / asyncwait-3.f95
blobed72a9ba28a5653e7a2c592b98a77db650d57775
1 ! { dg-do compile }
3 program asyncwait
4 integer, parameter :: N = 64
5 real, allocatable :: a(:), b(:)
6 integer i
8 allocate (a(N))
9 allocate (b(N))
11 a(:) = 3.0
12 b(:) = 0.0
14 !$acc wait (1 2) ! { dg-error "Syntax error in OpenACC expression list at" }
16 !$acc wait (1,) ! { dg-error "Syntax error in OpenACC expression list at" }
18 !$acc wait (,1) ! { dg-error "Syntax error in OpenACC expression list at" }
20 !$acc wait (1, 2, ) ! { dg-error "Syntax error in OpenACC expression list at" }
22 !$acc wait (1, 2, ,) ! { dg-error "Syntax error in OpenACC expression list at" }
24 !$acc wait (1 ! { dg-error "Syntax error in OpenACC expression list at" }
26 !$acc wait (1, *) ! { dg-error "Invalid argument to \\\$\\\!ACC WAIT" }
28 !$acc wait (1, a) ! { dg-error "WAIT clause at \\\(1\\\) requires a scalar INTEGER expression" }
30 !$acc wait (a) ! { dg-error "WAIT clause at \\\(1\\\) requires a scalar INTEGER expression" }
32 !$acc wait (N)
34 !$acc wait (1.0) ! { dg-error "WAIT clause at \\\(1\\\) requires a scalar INTEGER expression" }
36 !$acc wait 1 ! { dg-error "Unclassifiable OpenACC directive" }
38 !$acc wait N ! { dg-error "Unclassifiable OpenACC directive" }
40 !$acc wait (1)
41 end program asyncwait