1 // RUN: %clang_cc1 %s -verify -fopenacc
6 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
9 // expected-error@+2{{invalid OpenACC clause 'clause'}}
10 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
11 #pragma acc wait clause-list
13 // expected-error@+3{{expected ')'}}
14 // expected-note@+2{{to match this '('}}
15 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
18 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
21 // expected-error@+2{{invalid OpenACC clause 'clause'}}
22 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
23 #pragma acc wait () clause-list
25 // expected-error@+4{{expected expression}}
26 // expected-error@+3{{expected ')'}}
27 // expected-note@+2{{to match this '('}}
28 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
29 #pragma acc wait (devnum:
31 // expected-error@+2{{expected expression}}
32 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
33 #pragma acc wait (devnum:)
35 // expected-error@+3{{expected expression}}
36 // expected-error@+2{{invalid OpenACC clause 'clause'}}
37 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
38 #pragma acc wait (devnum:) clause-list
40 // expected-error@+4{{expected ':'}}
41 // expected-error@+3{{expected ')'}}
42 // expected-note@+2{{to match this '('}}
43 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
44 #pragma acc wait (devnum: i + j
46 // expected-error@+2{{expected ':'}}
47 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
48 #pragma acc wait (devnum: i + j)
50 // expected-error@+3{{expected ':'}}
51 // expected-error@+2{{invalid OpenACC clause 'clause'}}
52 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
53 #pragma acc wait (devnum: i + j) clause-list
55 // expected-error@+3{{expected ')'}}
56 // expected-note@+2{{to match this '('}}
57 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
58 #pragma acc wait (queues:
60 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
61 #pragma acc wait (queues:)
63 // expected-error@+2{{invalid OpenACC clause 'clause'}}
64 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
65 #pragma acc wait (queues:) clause-list
67 // expected-error@+3{{expected ')'}}
68 // expected-note@+2{{to match this '('}}
69 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
70 #pragma acc wait (devnum: i + j:queues:
72 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
73 #pragma acc wait (devnum: i + j:queues:)
75 // expected-error@+2{{invalid OpenACC clause 'clause'}}
76 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
77 #pragma acc wait (devnum: i + j:queues:) clause-list
79 // expected-error@+4{{use of undeclared identifier 'devnum'}}
80 // expected-error@+3{{expected ')'}}
81 // expected-note@+2{{to match this '('}}
82 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
83 #pragma acc wait (queues:devnum: i + j
85 // expected-error@+2{{use of undeclared identifier 'devnum'}}
86 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
87 #pragma acc wait (queues:devnum: i + j)
89 // expected-error@+3{{use of undeclared identifier 'devnum'}}
90 // expected-error@+2{{invalid OpenACC clause 'clause'}}
91 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
92 #pragma acc wait (queues:devnum: i + j) clause-list
94 // expected-error@+3{{expected ')'}}
95 // expected-note@+2{{to match this '('}}
96 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
97 #pragma acc wait(i, j, 1+1, 3.3
99 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
100 #pragma acc wait(i, j, 1+1, 3.3)
101 // expected-error@+2{{invalid OpenACC clause 'clause'}}
102 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
103 #pragma acc wait(i, j, 1+1, 3.3) clause-list
105 // expected-error@+4{{expected expression}}
106 // expected-error@+3{{expected ')'}}
107 // expected-note@+2{{to match this '('}}
108 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
111 // expected-error@+2{{expected expression}}
112 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
115 // expected-error@+3{{expected expression}}
116 // expected-error@+2{{invalid OpenACC clause 'clause'}}
117 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
118 #pragma acc wait(,) clause-list
120 // expected-error@+3{{expected ')'}}
121 // expected-note@+2{{to match this '('}}
122 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
123 #pragma acc wait(queues:i, j, 1+1, 3.3
125 // expected-error@+4{{expected expression}}
126 // expected-error@+3{{expected ')'}}
127 // expected-note@+2{{to match this '('}}
128 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
129 #pragma acc wait(queues:i, j, 1+1, 3.3,
131 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
132 #pragma acc wait(queues:i, j, 1+1, 3.3)
134 // expected-error@+2{{invalid OpenACC clause 'clause'}}
135 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
136 #pragma acc wait(queues:i, j, 1+1, 3.3) clause-list
138 // expected-error@+3{{expected ')'}}
139 // expected-note@+2{{to match this '('}}
140 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
141 #pragma acc wait(devnum:3:i, j, 1+1, 3.3
142 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
143 #pragma acc wait(devnum:3:i, j, 1+1, 3.3)
144 // expected-error@+2{{invalid OpenACC clause 'clause'}}
145 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
146 #pragma acc wait(devnum:3:i, j, 1+1, 3.3) clause-list
148 // expected-error@+3{{expected ')'}}
149 // expected-note@+2{{to match this '('}}
150 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
151 #pragma acc wait(devnum:3:queues:i, j, 1+1, 3.3
152 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
153 #pragma acc wait(devnum:3:queues:i, j, 1+1, 3.3)
154 // expected-error@+2{{invalid OpenACC clause 'clause'}}
155 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}}
156 #pragma acc wait(devnum:3:queues:i, j, 1+1, 3.3) clause-list