144 lines · c
1// RUN: %clang_cc1 %s -verify -fopenacc2 3void func() {4 int i, j;5 6 #pragma acc wait7 8 // expected-error@+1{{invalid OpenACC clause 'clause'}}9 #pragma acc wait clause-list10 11 // expected-error@+3{{expected expression}}12 // expected-error@+2{{expected ')'}}13 // expected-note@+1{{to match this '('}}14 #pragma acc wait (15 16 // expected-error@+1{{expected expression}}17 #pragma acc wait ()18 19 // expected-error@+2{{expected expression}}20 // expected-error@+1{{invalid OpenACC clause 'clause'}}21 #pragma acc wait () clause-list22 23 // expected-error@+3{{expected expression}}24 // expected-error@+2{{expected ')'}}25 // expected-note@+1{{to match this '('}}26 #pragma acc wait (devnum:27 28 // expected-error@+1{{expected expression}}29 #pragma acc wait (devnum:)30 31 // expected-error@+2{{expected expression}}32 // expected-error@+1{{invalid OpenACC clause 'clause'}}33 #pragma acc wait (devnum:) clause-list34 35 // expected-error@+3{{expected ':'}}36 // expected-error@+2{{expected ')'}}37 // expected-note@+1{{to match this '('}}38 #pragma acc wait (devnum: i + j39 40 // expected-error@+1{{expected ':'}}41 #pragma acc wait (devnum: i + j)42 43 // expected-error@+2{{expected ':'}}44 // expected-error@+1{{invalid OpenACC clause 'clause'}}45 #pragma acc wait (devnum: i + j) clause-list46 47 // expected-error@+3{{expected expression}}48 // expected-error@+2{{expected ')'}}49 // expected-note@+1{{to match this '('}}50 #pragma acc wait (queues:51 52 // expected-error@+1{{expected expression}}53 #pragma acc wait (queues:)54 55 // expected-error@+2{{expected expression}}56 // expected-error@+1{{invalid OpenACC clause 'clause'}}57 #pragma acc wait (queues:) clause-list58 59 // expected-error@+3{{expected expression}}60 // expected-error@+2{{expected ')'}}61 // expected-note@+1{{to match this '('}}62 #pragma acc wait (devnum: i + j:queues:63 64 // expected-error@+1{{expected expression}}65 #pragma acc wait (devnum: i + j:queues:)66 67 // expected-error@+2{{expected expression}}68 // expected-error@+1{{invalid OpenACC clause 'clause'}}69 #pragma acc wait (devnum: i + j:queues:) clause-list70 71 // expected-error@+3{{use of undeclared identifier 'devnum'}}72 // expected-error@+2{{expected ')'}}73 // expected-note@+1{{to match this '('}}74 #pragma acc wait (queues:devnum: i + j75 76 // expected-error@+1{{use of undeclared identifier 'devnum'}}77 #pragma acc wait (queues:devnum: i + j)78 79 // expected-error@+2{{use of undeclared identifier 'devnum'}}80 // expected-error@+1{{invalid OpenACC clause 'clause'}}81 #pragma acc wait (queues:devnum: i + j) clause-list82 83 // expected-error@+3{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}84 // expected-error@+2{{expected ')'}}85 // expected-note@+1{{to match this '('}}86 #pragma acc wait(i, j, 1+1, 3.387 88 // expected-error@+1{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}89 #pragma acc wait(i, j, 1+1, 3.3)90 // expected-error@+2{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}91 // expected-error@+1{{invalid OpenACC clause 'clause'}}92 #pragma acc wait(i, j, 1+1, 3.3) clause-list93 94 // expected-error@+3{{expected expression}}95 // expected-error@+2{{expected ')'}}96 // expected-note@+1{{to match this '('}}97 #pragma acc wait(,98 99 // expected-error@+1{{expected expression}}100 #pragma acc wait(,)101 102 // expected-error@+2{{expected expression}}103 // expected-error@+1{{invalid OpenACC clause 'clause'}}104 #pragma acc wait(,) clause-list105 106 // expected-error@+3{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}107 // expected-error@+2{{expected ')'}}108 // expected-note@+1{{to match this '('}}109 #pragma acc wait(queues:i, j, 1+1, 3.3110 111 // expected-error@+4{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}112 // expected-error@+3{{expected expression}}113 // expected-error@+2{{expected ')'}}114 // expected-note@+1{{to match this '('}}115 #pragma acc wait(queues:i, j, 1+1, 3.3,116 117 // expected-error@+1{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}118 #pragma acc wait(queues:i, j, 1+1, 3.3)119 120 // expected-error@+2{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}121 // expected-error@+1{{invalid OpenACC clause 'clause'}}122 #pragma acc wait(queues:i, j, 1+1, 3.3) clause-list123 124 // expected-error@+3{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}125 // expected-error@+2{{expected ')'}}126 // expected-note@+1{{to match this '('}}127 #pragma acc wait(devnum:3:i, j, 1+1, 3.3128 // expected-error@+1{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}129 #pragma acc wait(devnum:3:i, j, 1+1, 3.3)130 // expected-error@+2{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}131 // expected-error@+1{{invalid OpenACC clause 'clause'}}132 #pragma acc wait(devnum:3:i, j, 1+1, 3.3) clause-list133 134 // expected-error@+3{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}135 // expected-error@+2{{expected ')'}}136 // expected-note@+1{{to match this '('}}137 #pragma acc wait(devnum:3:queues:i, j, 1+1, 3.3138 // expected-error@+1{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}139 #pragma acc wait(devnum:3:queues:i, j, 1+1, 3.3)140 // expected-error@+2{{OpenACC directive 'wait' requires expression of integer type ('double' invalid)}}141 // expected-error@+1{{invalid OpenACC clause 'clause'}}142 #pragma acc wait(devnum:3:queues:i, j, 1+1, 3.3) clause-list143}144