1 // RUN: %clang_cc1 %s -verify -fopenacc 2 3 void func() { 4 int i, j; 5 6 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}} 7 #pragma acc wait 8 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 12 13 // expected-error@+3{{expected ')'}} 14 // expected-note@+2{{to match this '('}} 15 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}} 16 #pragma acc wait ( 17 18 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}} 19 #pragma acc wait () 20 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 24 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: 30 31 // expected-error@+2{{expected expression}} 32 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}} 33 #pragma acc wait (devnum:) 34 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 39 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 45 46 // expected-error@+2{{expected ':'}} 47 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}} 48 #pragma acc wait (devnum: i + j) 49 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 54 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: 59 60 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}} 61 #pragma acc wait (queues:) 62 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 66 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: 71 72 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}} 73 #pragma acc wait (devnum: i + j:queues:) 74 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 78 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 84 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) 88 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 93 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 98 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 104 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}} 109 #pragma acc wait(, 110 111 // expected-error@+2{{expected expression}} 112 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}} 113 #pragma acc wait(,) 114 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 119 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 124 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, 130 131 // expected-warning@+1{{OpenACC directives not yet implemented, pragma ignored}} 132 #pragma acc wait(queues:i, j, 1+1, 3.3) 133 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 137 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 147 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 157 } 158