438 lines · cpp
1// RUN: %clang_cc1 %s -fopenacc -verify2 3void Compute() {4 // expected-error@+1{{expected expression}}5#pragma acc parallel wait()6 ;7 // expected-error@+1{{expected expression}}8#pragma acc serial wait()9 ;10 // expected-error@+1{{expected expression}}11#pragma acc kernels wait()12 ;13 14 // expected-error@+1{{expected expression}}15#pragma acc parallel num_gangs()16 ;17 // expected-error@+1{{expected expression}}18#pragma acc serial num_gangs()19 ;20 // expected-error@+1{{expected expression}}21#pragma acc kernels num_gangs()22 ;23 24 // expected-error@+1{{expected expression}}25#pragma acc parallel num_workers()26 ;27 // expected-error@+1{{expected expression}}28#pragma acc serial num_workers()29 ;30 // expected-error@+1{{expected expression}}31#pragma acc kernels num_workers()32 ;33 34 // expected-error@+1{{expected expression}}35#pragma acc parallel vector_length()36 ;37 // expected-error@+1{{expected expression}}38#pragma acc serial vector_length()39 ;40 // expected-error@+1{{expected expression}}41#pragma acc kernels vector_length()42 ;43 44 // expected-error@+1{{expected expression}}45#pragma acc parallel reduction(+:)46 ;47 // expected-error@+1{{expected expression}}48#pragma acc serial reduction(+:)49 ;50 51 // expected-error@+1{{expected expression}}52#pragma acc parallel copy()53 ;54 // expected-error@+1{{expected expression}}55#pragma acc serial copy()56 ;57 // expected-error@+1{{expected expression}}58#pragma acc kernels copy()59 ;60 61 // expected-error@+1{{expected expression}}62#pragma acc parallel copyin()63 ;64 // expected-error@+1{{expected expression}}65#pragma acc serial copyin(readonly:)66 ;67 // expected-error@+1{{expected expression}}68#pragma acc kernels copyin()69 ;70 71 // expected-error@+1{{expected expression}}72#pragma acc parallel copyout()73 ;74 // expected-error@+1{{expected expression}}75#pragma acc serial copyout(zero:)76 ;77 // expected-error@+1{{expected expression}}78#pragma acc kernels copyout()79 ;80 81 // expected-error@+1{{expected expression}}82#pragma acc parallel create()83 ;84 // expected-error@+1{{expected expression}}85#pragma acc serial create(zero:)86 ;87 // expected-error@+1{{expected expression}}88#pragma acc kernels create()89 ;90 91 // expected-error@+1{{expected expression}}92#pragma acc parallel no_create()93 ;94 // expected-error@+1{{expected expression}}95#pragma acc serial no_create()96 ;97 // expected-error@+1{{expected expression}}98#pragma acc kernels no_create()99 ;100 101 // expected-error@+1{{expected expression}}102#pragma acc parallel present()103 ;104 // expected-error@+1{{expected expression}}105#pragma acc serial present()106 ;107 // expected-error@+1{{expected expression}}108#pragma acc kernels present()109 ;110 111 // expected-error@+1{{expected expression}}112#pragma acc parallel deviceptr()113 ;114 // expected-error@+1{{expected expression}}115#pragma acc serial deviceptr()116 ;117 // expected-error@+1{{expected expression}}118#pragma acc kernels deviceptr()119 ;120 121 // expected-error@+1{{expected expression}}122#pragma acc parallel attach()123 ;124 // expected-error@+1{{expected expression}}125#pragma acc serial attach()126 ;127 // expected-error@+1{{expected expression}}128#pragma acc kernels attach()129 ;130 131 // expected-error@+1{{expected expression}}132#pragma acc parallel private()133 ;134 // expected-error@+1{{expected expression}}135#pragma acc serial private()136 ;137 138 // expected-error@+1{{expected expression}}139#pragma acc parallel firstprivate()140 ;141 // expected-error@+1{{expected expression}}142#pragma acc serial firstprivate()143 ;144 145 // expected-error@+1{{expected identifier}}146#pragma acc parallel device_type()147 ;148 // expected-error@+1{{expected identifier}}149#pragma acc serial device_type()150 ;151 // expected-error@+1{{expected identifier}}152#pragma acc kernels device_type()153 ;154}155 156void Data(int i) {157 // expected-error@+1{{expected expression}}158#pragma acc data default(none) wait()159 // expected-error@+1{{expected expression}}160#pragma acc enter data copyin(i) wait()161 // expected-error@+1{{expected expression}}162#pragma acc exit data copyout(i) wait()163 164 // expected-error@+1{{expected identifier}}165#pragma acc data default(none) device_type()166 167 // expected-error@+1{{expected expression}}168#pragma acc data copy()169 170 // expected-error@+1{{expected expression}}171#pragma acc data copyin()172 // expected-error@+1{{expected expression}}173#pragma acc enter data copyin()174 175 // expected-error@+1{{expected expression}}176#pragma acc data copyout()177 // expected-error@+1{{expected expression}}178#pragma acc exit data copyout()179 180 // expected-error@+1{{expected expression}}181#pragma acc exit data delete()182 183 // expected-error@+1{{expected expression}}184#pragma acc exit data detach()185 186 // expected-error@+1{{expected expression}}187#pragma acc data create()188 // expected-error@+1{{expected expression}}189#pragma acc enter data create()190 191 // expected-error@+1{{expected expression}}192#pragma acc data default(none) no_create()193 194 // expected-error@+1{{expected expression}}195#pragma acc data present()196 197 // expected-error@+1{{expected expression}}198#pragma acc data deviceptr()199 200 // expected-error@+1{{expected expression}}201#pragma acc data attach()202 // expected-error@+1{{expected expression}}203#pragma acc enter data attach()204 205 // expected-error@+1{{expected expression}}206#pragma acc host_data use_device()207 ;208}209 210void Executable(int i) {211 // expected-error@+1{{expected identifier}}212#pragma acc init device_type()213 // expected-error@+1{{expected identifier}}214#pragma acc shutdown device_type()215 // expected-error@+1{{expected identifier}}216#pragma acc set device_num(i) device_type()217 // expected-error@+1{{expected identifier}}218#pragma acc update self(i) device_type()219 220 // expected-error@+1{{expected expression}}221#pragma acc update self(i) wait()222 // expected-error@+1{{expected expression}}223#pragma acc update self()224 // expected-error@+1{{expected expression}}225#pragma acc update host()226 // expected-error@+1{{expected expression}}227#pragma acc update device()228 229 // expected-error@+1{{expected expression}}230#pragma acc wait()231}232 233void Other() {234 // expected-error@+1{{expected expression}}235#pragma acc loop gang()236 for(int i = 0; i < 5; ++i);237 // expected-error@+1{{expected expression}}238#pragma acc loop worker()239 for(int i = 0; i < 5; ++i);240 // expected-error@+1{{expected expression}}241#pragma acc loop vector()242 for(int i = 0; i < 5; ++i);243 // expected-error@+1{{expected expression}}244#pragma acc loop tile()245 for(int i = 0; i < 5; ++i);246 // expected-error@+1{{expected identifier}}247#pragma acc loop device_type()248 for(int i = 0; i < 5; ++i);249 // expected-error@+1{{expected expression}}250#pragma acc loop private()251 for(int i = 0; i < 5; ++i);252 // expected-error@+1{{expected expression}}253#pragma acc loop reduction(+:)254 for(int i = 0; i < 5; ++i);255 256 // expected-error@+1{{expected expression}}257#pragma acc cache()258 259 // expected-error@+1{{expected expression}}260#pragma acc declare copy()261 // expected-error@+1{{expected expression}}262#pragma acc declare copyin()263 // expected-error@+1{{expected expression}}264#pragma acc declare copyout()265 // expected-error@+1{{expected expression}}266#pragma acc declare create()267 // expected-error@+1{{expected expression}}268#pragma acc declare present()269 // expected-error@+1{{expected expression}}270#pragma acc declare deviceptr()271 // expected-error@+1{{expected expression}}272#pragma acc declare device_resident()273 // expected-error@+1{{expected expression}}274#pragma acc declare link()275 276 auto L1 =[]{};277 278 // expected-error@+1{{expected identifier}}279#pragma acc routine(L1) seq device_type()280 281 // expected-error@+1{{expected identifier}}282#pragma acc routine seq device_type()283 auto L2 =[]{};284}285 286void Combined() {287 // expected-error@+1{{expected expression}}288#pragma acc parallel loop gang()289 for(int i = 0; i < 5; ++i);290 // expected-error@+1{{expected expression}}291#pragma acc serial loop gang()292 for(int i = 0; i < 5; ++i);293 // expected-error@+1{{expected expression}}294#pragma acc kernels loop gang()295 for(int i = 0; i < 5; ++i);296 297 // expected-error@+1{{expected expression}}298#pragma acc parallel loop tile()299 for(int i = 0; i < 5; ++i);300 // expected-error@+1{{expected expression}}301#pragma acc serial loop tile()302 for(int i = 0; i < 5; ++i);303 // expected-error@+1{{expected expression}}304#pragma acc kernels loop tile()305 for(int i = 0; i < 5; ++i);306 307 // expected-error@+1{{expected identifier}}308#pragma acc parallel loop device_type()309 for(int i = 0; i < 5; ++i);310 // expected-error@+1{{expected identifier}}311#pragma acc serial loop device_type()312 for(int i = 0; i < 5; ++i);313 // expected-error@+1{{expected identifier}}314#pragma acc kernels loop device_type()315 for(int i = 0; i < 5; ++i);316 317 // expected-error@+1{{expected expression}}318#pragma acc parallel loop reduction(+:)319 for(int i = 0; i < 5; ++i);320 // expected-error@+1{{expected expression}}321#pragma acc serial loop reduction(+:)322 for(int i = 0; i < 5; ++i);323 // expected-error@+1{{expected expression}}324#pragma acc kernels loop reduction(+:)325 for(int i = 0; i < 5; ++i);326 327 // expected-error@+1{{expected expression}}328#pragma acc parallel loop wait()329 for(int i = 0; i < 5; ++i);330 // expected-error@+1{{expected expression}}331#pragma acc serial loop wait()332 for(int i = 0; i < 5; ++i);333 // expected-error@+1{{expected expression}}334#pragma acc kernels loop wait()335 for(int i = 0; i < 5; ++i);336 337 // expected-error@+1{{expected expression}}338#pragma acc parallel loop num_gangs()339 for(int i = 0; i < 5; ++i);340 // expected-error@+1{{expected expression}}341#pragma acc kernels loop num_gangs()342 for(int i = 0; i < 5; ++i);343 344 // expected-error@+1{{expected expression}}345#pragma acc parallel loop copy()346 for(int i = 0; i < 5; ++i);347 // expected-error@+1{{expected expression}}348#pragma acc serial loop copy()349 for(int i = 0; i < 5; ++i);350 // expected-error@+1{{expected expression}}351#pragma acc kernels loop copy()352 for(int i = 0; i < 5; ++i);353 354 // expected-error@+1{{expected expression}}355#pragma acc parallel loop copyin()356 for(int i = 0; i < 5; ++i);357 // expected-error@+1{{expected expression}}358#pragma acc serial loop copyin()359 for(int i = 0; i < 5; ++i);360 // expected-error@+1{{expected expression}}361#pragma acc kernels loop copyin()362 for(int i = 0; i < 5; ++i);363 364 // expected-error@+1{{expected expression}}365#pragma acc parallel loop copyout()366 for(int i = 0; i < 5; ++i);367 // expected-error@+1{{expected expression}}368#pragma acc serial loop copyout()369 for(int i = 0; i < 5; ++i);370 // expected-error@+1{{expected expression}}371#pragma acc kernels loop copyout()372 for(int i = 0; i < 5; ++i);373 374 // expected-error@+1{{expected expression}}375#pragma acc parallel loop create()376 for(int i = 0; i < 5; ++i);377 // expected-error@+1{{expected expression}}378#pragma acc serial loop create()379 for(int i = 0; i < 5; ++i);380 // expected-error@+1{{expected expression}}381#pragma acc kernels loop create()382 for(int i = 0; i < 5; ++i);383 384 // expected-error@+1{{expected expression}}385#pragma acc parallel loop no_create()386 for(int i = 0; i < 5; ++i);387 // expected-error@+1{{expected expression}}388#pragma acc serial loop no_create()389 for(int i = 0; i < 5; ++i);390 391 // expected-error@+1{{expected expression}}392#pragma acc parallel loop present()393 for(int i = 0; i < 5; ++i);394 // expected-error@+1{{expected expression}}395#pragma acc serial loop present()396 for(int i = 0; i < 5; ++i);397 // expected-error@+1{{expected expression}}398#pragma acc kernels loop present()399 for(int i = 0; i < 5; ++i);400 401 // expected-error@+1{{expected expression}}402#pragma acc parallel loop deviceptr()403 for(int i = 0; i < 5; ++i);404 // expected-error@+1{{expected expression}}405#pragma acc serial loop deviceptr()406 for(int i = 0; i < 5; ++i);407 // expected-error@+1{{expected expression}}408#pragma acc kernels loop deviceptr()409 for(int i = 0; i < 5; ++i);410 411 // expected-error@+1{{expected expression}}412#pragma acc parallel loop attach()413 for(int i = 0; i < 5; ++i);414 // expected-error@+1{{expected expression}}415#pragma acc serial loop attach()416 for(int i = 0; i < 5; ++i);417 // expected-error@+1{{expected expression}}418#pragma acc kernels loop attach()419 for(int i = 0; i < 5; ++i);420 421 // expected-error@+1{{expected expression}}422#pragma acc parallel loop private()423 for(int i = 0; i < 5; ++i);424 // expected-error@+1{{expected expression}}425#pragma acc serial loop private()426 for(int i = 0; i < 5; ++i);427 // expected-error@+1{{expected expression}}428#pragma acc kernels loop private()429 for(int i = 0; i < 5; ++i);430 431 // expected-error@+1{{expected expression}}432#pragma acc parallel loop firstprivate()433 for(int i = 0; i < 5; ++i);434 // expected-error@+1{{expected expression}}435#pragma acc serial loop firstprivate()436 for(int i = 0; i < 5; ++i);437}438