Skip to content

Commit b33d5d3

Browse files
committed
Fix testcase
1 parent 3250e4e commit b33d5d3

File tree

1 file changed

+64
-42
lines changed

1 file changed

+64
-42
lines changed

clang/test/OpenMP/declare_target_messages.cpp

Lines changed: 64 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -11,50 +11,58 @@
1111

1212
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp45,omp45-to-51,omp45-to-51-var,omp45-to-51-clause,omp45-to-51-clause %{openmp45} %{limit} -o - %s
1313
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp5,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host5,host-5-and-51,no-host5-and-51 %{openmp50} %{target_mac} %{limit} -o - %s
14-
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp52,ompvar,omp5-or-later,omp5-or-later-var %{openmp60} %{target_mac} %{limit} -o - %s
14+
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp60,omp52-or-later,ompvar,omp5-or-later,omp5-or-later-var %{openmp60} %{target_mac} %{limit} -o - %s
1515
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp5,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host-5-and-51,no-host5-and-51,dev5 %{openmp50} -fopenmp-is-target-device %{target_mac} %{aux_triple} %{limit} -o - %s
16-
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp52,ompvar,omp5-or-later,omp5-or-later-var %{openmp60} -fopenmp-is-target-device %{target_mac} %{aux_triple} %{limit} -o - %s
16+
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp60,omp52-or-later,ompvar,omp5-or-later,omp5-or-later-var %{openmp60} -fopenmp-is-target-device %{target_mac} %{aux_triple} %{limit} -o - %s
1717

1818
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp5,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host5,host-5-and-51,no-host5-and-51 %{openmp50_simd} %{target_mac} %{limit} -o - %s
19-
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp52,ompvar,omp5-or-later,omp5-or-later-var %{openmp60_simd} %{target_mac} %{limit} -o - %s
19+
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp60,omp52-or-later,ompvar,omp5-or-later,omp5-or-later-var %{openmp60_simd} %{target_mac} %{limit} -o - %s
2020
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp5,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host5,host-5-and-51,no-host5-and-51 %{openmp50_simd} -fopenmp-is-target-device %{target_mac} %{limit} -o - %s
21-
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp52,ompvar,omp5-or-later,omp5-or-later-var %{openmp60_simd} -fopenmp-is-target-device %{target_mac} %{limit} -o - %s
21+
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp60,omp52-or-later,ompvar,omp5-or-later,omp5-or-later-var %{openmp60_simd} -fopenmp-is-target-device %{target_mac} %{limit} -o - %s
2222

2323
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp45,omp45-to-51,omp45-to-51-var,omp45-to-51-clause -fopenmp-version=45 -fopenmp-simd %{limit} -o - %s
2424
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp51,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host-5-and-51,no-host5-and-51 -fopenmp %{limit} -o - %s
2525
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp51,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host-5-and-51,no-host5-and-51 -fopenmp %{limit} -DTESTEND=1 -o - %s
2626
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp51,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host-5-and-51,no-host5-and-51 -fopenmp %{limit} -I%S/Inputs -DTESTENDINC=1 -o - %s
2727
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp51,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host-5-and-51,no-host5-and-51 -fopenmp-simd %{limit} -o - %s
2828

29-
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp52,ompvar,omp5-or-later,omp5-or-later-var %{openmp52} -DVERBOSE_MODE=1 %{limit} -o - %s
30-
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp52,ompvar,omp5-or-later,omp5-or-later-var %{openmp60} -DVERBOSE_MODE=1 %{limit} -o - %s
29+
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp52,omp52-or-later,ompvar,omp5-or-later,omp5-or-later-var %{openmp52} -DVERBOSE_MODE=1 %{limit} -o - %s
30+
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp60,omp52-or-later,ompvar,omp5-or-later,omp5-or-later-var %{openmp60} -DVERBOSE_MODE=1 %{limit} -o - %s
3131

3232
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp5,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host-5-and-51,no-host5-and-51 %{openmp50} %{limit} -o - %s
3333
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp51,ompvar,omp45-to-51,omp5-and-51,omp5-or-later,omp5-or-later-var,omp45-to-51-var,omp45-to-51-clause,host-5-and-51,no-host5-and-51 -fopenmp %{limit} -o - %s
34-
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp52,ompvar,omp5-or-later,omp5-or-later-var %{openmp60} %{limit} -o - %s
34+
// RUN: %clang_cc1 %{common_opts_mac} -verify=expected,omp60,omp52-or-later,ompvar,omp5-or-later,omp5-or-later-var %{openmp60} %{limit} -o - %s
3535

3636
#pragma omp begin declare target
3737
static int gg;
3838
// expected-warning@+1 {{variable 'recursive' is uninitialized when used within its own initialization}}
3939
int recursive = recursive ^ 3 + gg;
4040
#pragma omp end declare target
4141

42-
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp end declare target'}}
42+
// omp60-error@+3 {{unexpected OpenMP directive '#pragma omp end declare_target'}}
43+
// omp52-error@+2 {{unexpected OpenMP directive '#pragma omp end declare target'}}
44+
// omp45-to-51-error@+1 {{unexpected OpenMP directive '#pragma omp end declare target'}}
4345
#pragma omp end declare target
4446

4547
// ompvar-error@+1 {{variable captured in declare target region must appear in a to clause}}
4648
int a, b, z;
4749
// expected-note@+1 {{defined as threadprivate or thread local}}
4850
__thread int t;
4951

50-
// expected-error@+1 {{expected '(' after 'declare target'}}
52+
// omp60-error@+3 {{expected '(' after 'declare_target'}}
53+
// omp52-error@+2 {{expected '(' after 'declare target'}}
54+
// omp45-to-51-error@+1 {{expected '(' after 'declare target'}}
5155
#pragma omp declare target .
5256

5357
#pragma omp declare target
5458
void f();
55-
// expected-warning@+1 {{extra tokens at the end of '#pragma omp end declare target' are ignored}}
59+
// omp60-warning@+3 {{extra tokens at the end of '#pragma omp end declare_target' are ignored}}
60+
// omp52-warning@+2 {{extra tokens at the end of '#pragma omp end declare target' are ignored}}
61+
// omp45-to-51-warning@+1 {{extra tokens at the end of '#pragma omp end declare target' are ignored}}
5662
#pragma omp end declare target shared(a)
5763

64+
// omp60-error@+10 {{unexpected 'map' clause, only 'enter', 'link', 'device_type' or 'indirect' clauses expected}}
65+
// omp60-error@+9 {{expected at least one 'enter', 'link' or 'indirect' clause}}
5866
// omp52-error@+8 {{unexpected 'map' clause, only 'enter', 'link', 'device_type' or 'indirect' clauses expected}}
5967
// omp52-error@+7 {{expected at least one 'enter', 'link' or 'indirect' clause}}
6068
// omp51-error@+6 {{unexpected 'map' clause, only 'to', 'link', 'device_type' or 'indirect' clauses expected}}
@@ -65,6 +73,8 @@ void f();
6573
// omp45-error@+1 {{expected at least one 'to' or 'link' clause}}
6674
#pragma omp declare target map(a)
6775

76+
// omp60-error@+5 {{unexpected 'to' clause, use 'enter' instead}}
77+
// omp60-error@+4 {{expected at least one 'enter', 'link' or 'indirect' clause}}
6878
// omp52-error@+3 {{unexpected 'to' clause, use 'enter' instead}}
6979
// omp52-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
7080
// omp45-to-51-error@+1 {{use of undeclared identifier 'foo1'}}
@@ -73,15 +83,17 @@ void f();
7383
// expected-error@+1 {{use of undeclared identifier 'foo2'}}
7484
#pragma omp declare target link(foo2)
7585

86+
// omp60-error@+6 {{unexpected 'to' clause, use 'enter' instead}}
87+
// omp60-error@+5 {{expected at least one 'enter', 'link' or 'indirect' clause}}
7688
// omp52-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
7789
// omp52-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
7890
// dev5-note@+2 {{marked as 'device_type(host)' here}}
7991
// omp45-error@+1 {{unexpected 'device_type' clause, only 'to' or 'link' clauses expected}}
8092
#pragma omp declare target to(f) device_type(host)
8193

8294
void q();
83-
// omp52-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
84-
// omp52-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
95+
// omp52-or-later-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
96+
// omp52-or-later-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
8597
// omp5-and-51-warning@+2 {{more than one 'device_type' clause is specified}}
8698
// omp45-error@+1 {{unexpected 'device_type' clause, only 'to' or 'link' clauses expected}}
8799
#pragma omp declare target to(q) device_type(any) device_type(any) device_type(host)
@@ -121,7 +133,7 @@ void c();
121133
// expected-note@+1 {{'func' defined here}}
122134
void func() {}
123135

124-
// omp52-error@+5 {{unexpected 'allocate' clause, only 'enter', 'link', 'device_type' or 'indirect' clauses expected}}
136+
// omp52-or-later-error@+5 {{unexpected 'allocate' clause, only 'enter', 'link', 'device_type' or 'indirect' clauses expected}}
125137
// omp51-error@+4 {{unexpected 'allocate' clause, only 'to', 'link', 'device_type' or 'indirect' clauses expected}}
126138
// omp5-error@+3 {{unexpected 'allocate' clause, only 'to', 'link' or 'device_type' clauses expected}}
127139
// expected-error@+2 {{function name is not allowed in 'link' clause}}
@@ -171,7 +183,9 @@ void t2() {
171183
void abc();
172184
#pragma omp end declare target
173185
void cba();
174-
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp end declare target'}}
186+
// omp60-error@+3 {{unexpected OpenMP directive '#pragma omp end declare_target'}}
187+
// omp52-error@+2 {{unexpected OpenMP directive '#pragma omp end declare target'}}
188+
// omp45-to-51-error@+1 {{unexpected OpenMP directive '#pragma omp end declare target'}}
175189
#pragma omp end declare target
176190

177191
#pragma omp declare target
@@ -234,7 +248,9 @@ void foo1() {
234248

235249
#pragma omp end declare target
236250
#pragma omp end declare target
237-
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp end declare target'}}
251+
// omp60-error@+3 {{unexpected OpenMP directive '#pragma omp end declare_target'}}
252+
// omp52-error@+2 {{unexpected OpenMP directive '#pragma omp end declare target'}}
253+
// omp45-to-51-error@+1 {{unexpected OpenMP directive '#pragma omp end declare target'}}
238254
#pragma omp end declare target
239255

240256
int C::method() {
@@ -255,18 +271,22 @@ int *y;
255271
int **w = &y;
256272
int main (int argc, char **argv) {
257273
int a = 2;
258-
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp declare target'}}
274+
// omp60-error@+3 {{unexpected OpenMP directive '#pragma omp declare_target'}}
275+
// omp52-error@+2 {{unexpected OpenMP directive '#pragma omp declare target'}}
276+
// omp45-to-51-error@+1 {{unexpected OpenMP directive '#pragma omp declare target'}}
259277
#pragma omp declare target
260278
int v;
261-
// expected-error@+1 {{unexpected OpenMP directive '#pragma omp end declare target'}}
279+
// omp60-error@+3 {{unexpected OpenMP directive '#pragma omp end declare_target'}}
280+
// omp52-error@+2 {{unexpected OpenMP directive '#pragma omp end declare target'}}
281+
// omp45-to-51-error@+1 {{unexpected OpenMP directive '#pragma omp end declare target'}}
262282
#pragma omp end declare target
263283
foo(v);
264284

265-
// omp52-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
266-
// omp52-error@+1 {{unexpected 'to' clause, use 'enter' instead}}
285+
// omp52-or-later-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
286+
// omp52-or-later-error@+1 {{unexpected 'to' clause, use 'enter' instead}}
267287
#pragma omp declare target to(foo3) link(w)
268-
// omp52-error@+3 {{unexpected 'to' clause, use 'enter' instead}}
269-
// omp52-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
288+
// omp52-or-later-error@+3 {{unexpected 'to' clause, use 'enter' instead}}
289+
// omp52-or-later-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
270290
// omp45-to-51-var-error@+1 {{local variable 'a' should not be used in 'declare target' directive}}
271291
#pragma omp declare target to(a)
272292
return (0);
@@ -283,48 +303,48 @@ namespace {
283303

284304
// expected-error@+1 {{'x' appears multiple times in clauses on the same declare target directive}}
285305
#pragma omp declare target (x, x)
286-
// omp52-error@+3 {{unexpected 'to' clause, use 'enter' instead}}
287-
// omp52-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
306+
// omp52-or-later-error@+3 {{unexpected 'to' clause, use 'enter' instead}}
307+
// omp52-or-later-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
288308
// omp45-to-51-clause-error@+1 {{'x' appears multiple times in clauses on the same declare target directive}}
289309
#pragma omp declare target to(x) to(x)
290310
// expected-error@+1 {{'x' must not appear in both clauses 'to' and 'link'}}
291311
#pragma omp declare target link(x)
292312

293313
void bazz() {}
294-
// omp52-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
295-
// omp52-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
314+
// omp52-or-later-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
315+
// omp52-or-later-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
296316
// host5-note@+2 3 {{marked as 'device_type(nohost)' here}}
297317
// omp45-error@+1 {{unexpected 'device_type' clause, only 'to' or 'link' clauses expected}}
298318
#pragma omp declare target to(bazz) device_type(nohost)
299319
void bazzz() {bazz();}
300-
// omp52-error@+3 {{unexpected 'to' clause, use 'enter' instead}}
301-
// omp52-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
320+
// omp52-or-later-error@+3 {{unexpected 'to' clause, use 'enter' instead}}
321+
// omp52-or-later-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
302322
// omp45-error@+1 {{unexpected 'device_type' clause, only 'to' or 'link' clauses expected}}
303323
#pragma omp declare target to(bazzz) device_type(nohost)
304324
// host5-error@+1 {{function with 'device_type(nohost)' is not available on host}}
305325
void any() {bazz();}
306326
// host5-error@+1 {{function with 'device_type(nohost)' is not available on host}}
307327
void host1() {bazz();}
308-
// omp52-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
309-
// omp52-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
328+
// omp52-or-later-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
329+
// omp52-or-later-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
310330
// dev5-note@+2 3 {{marked as 'device_type(host)' here}}
311331
// omp45-error@+1 {{unexpected 'device_type' clause, only 'to' or 'link' clauses expected}}
312332
#pragma omp declare target to(host1) device_type(host)
313333
//host5-error@+1 {{function with 'device_type(nohost)' is not available on host}}
314334
void host2() {bazz();}
315-
// omp52-error@+2 {{unexpected 'to' clause, use 'enter' instead}}
316-
// omp52-error@+1 {{expected at least one 'enter', 'link' or 'indirect' clause}}
335+
// omp52-or-later-error@+2 {{unexpected 'to' clause, use 'enter' instead}}
336+
// omp52-or-later-error@+1 {{expected at least one 'enter', 'link' or 'indirect' clause}}
317337
#pragma omp declare target to(host2)
318338
// dev5-error@+1 {{function with 'device_type(host)' is not available on device}}
319339
void device() {host1();}
320-
// omp52-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
321-
// omp52-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
340+
// omp52-or-later-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
341+
// omp52-or-later-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
322342
// host5-note@+2 2 {{marked as 'device_type(nohost)' here}}
323343
// omp45-error@+1 {{unexpected 'device_type' clause, only 'to' or 'link' clauses expected}}
324344
#pragma omp declare target to(device) device_type(nohost)
325345
void host3() {host1();} // dev5-error {{function with 'device_type(host)' is not available on device}}
326-
// omp52-error@+2 {{unexpected 'to' clause, use 'enter' instead}}
327-
// omp52-error@+1 {{expected at least one 'enter', 'link' or 'indirect' clause}}
346+
// omp52-or-later-error@+2 {{unexpected 'to' clause, use 'enter' instead}}
347+
// omp52-or-later-error@+1 {{expected at least one 'enter', 'link' or 'indirect' clause}}
328348
#pragma omp declare target to(host3)
329349

330350
#pragma omp declare target
@@ -343,17 +363,17 @@ void any7() {device();}
343363
void any8() {any2();}
344364

345365
int MultiDevTy;
346-
// omp52-error@+3 {{unexpected 'to' clause, use 'enter' instead}}
347-
// omp52-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
366+
// omp52-or-later-error@+3 {{unexpected 'to' clause, use 'enter' instead}}
367+
// omp52-or-later-error@+2 {{expected at least one 'enter', 'link' or 'indirect' clause}}
348368
// omp45-error@+1 {{unexpected 'device_type' clause, only 'to' or 'link' clauses expected}}
349369
#pragma omp declare target to(MultiDevTy) device_type(any)
350-
// omp52-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
351-
// omp52-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
370+
// omp52-or-later-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
371+
// omp52-or-later-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
352372
// host-5-and-51-error@+2 {{'device_type(host)' does not match previously specified 'device_type(any)' for the same declaration}}
353373
// omp45-error@+1 {{unexpected 'device_type' clause, only 'to' or 'link' clauses expected}}
354374
#pragma omp declare target to(MultiDevTy) device_type(host)
355-
// omp52-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
356-
// omp52-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
375+
// omp52-or-later-error@+4 {{unexpected 'to' clause, use 'enter' instead}}
376+
// omp52-or-later-error@+3 {{expected at least one 'enter', 'link' or 'indirect' clause}}
357377
// no-host5-and-51-error@+2 {{'device_type(nohost)' does not match previously specified 'device_type(any)' for the same declaration}}
358378
// omp45-error@+1 {{unexpected 'device_type' clause, only 'to' or 'link' clauses expected}}
359379
#pragma omp declare target to(MultiDevTy) device_type(nohost)
@@ -414,6 +434,8 @@ target *S1 = &S;
414434
// expected-warning@+1 {{expected '#pragma omp end declare target' at end of file to match '#pragma omp declare target'}}
415435
#pragma omp declare target
416436
#else
417-
// expected-warning@+1 {{expected '#pragma omp end declare target' at end of file to match '#pragma omp begin declare target'}}
437+
// omp60-warning@+3 {{expected '#pragma omp end declare target' at end of file to match '#pragma omp begin declare_target'}}
438+
// omp52-warning@+2 {{expected '#pragma omp end declare target' at end of file to match '#pragma omp begin declare target'}}
439+
// omp45-to-51-warning@+1 {{expected '#pragma omp end declare target' at end of file to match '#pragma omp begin declare target'}}
418440
#pragma omp begin declare target
419441
#endif

0 commit comments

Comments
 (0)