c++: robustify testcase [PR109752]
[official-gcc.git] / gcc / testsuite / g++.dg / goacc / data-1.C
blob73de964a51886a2f1d3d87893426b5c7bf35aa66
1 void
2 foo (int &a, int (&b)[100], int &n)
4 #pragma acc enter data copyin (a, b) async wait
5 #pragma acc enter data create (b[20:30]) async wait
7 #pragma acc enter data (a)
8   /* { dg-error "expected '#pragma acc' clause before '\\\(' token" "" { target *-*-* } .-1 } */
9   /* { dg-error "has no data movement clause" "" { target *-*-* } .-2 } */
11 #pragma acc enter data create (b(1:10)) /* { dg-error "expected '\\\)' before '\\\(' token" } */
12 #pragma acc exit data delete (a) if (0)
13 #pragma acc exit data copyout (b) if (a)
14 #pragma acc exit data delete (b)
15 #pragma acc enter /* { dg-error "expected 'data' after" } */
16 #pragma acc exit /* { dg-error "expected 'data' after" } */
17 #pragma acc enter data /* { dg-error "has no data movement clause" } */
18 #pragma acc exit data /* { dg-error "has no data movement clause" } */
19 #pragma acc enter Data /* { dg-error "expected 'data' after" } */
20 #pragma acc exit copyout (b) /* { dg-error "expected 'data' after" } */
23 template<typename T>
24 void
25 foo (T &a, T (&b)[100], T &n)
27 #pragma acc enter data copyin (a, b) async wait
28 #pragma acc enter data create (b[20:30]) async wait
30 #pragma acc enter data (a)
31   /* { dg-error "expected '#pragma acc' clause before '\\\(' token" "" { target *-*-* } .-1 } */
32   /* { dg-error "has no data movement clause" "" { target *-*-* } .-2 } */
34 #pragma acc enter data create (b(1:10)) /* { dg-error "expected '\\\)' before '\\\(' token" } */
35 #pragma acc exit data delete (a) if (0)
36 #pragma acc exit data copyout (b) if (a)
37 #pragma acc exit data delete (b)
38 #pragma acc enter /* { dg-error "expected 'data' after" } */
39 #pragma acc exit /* { dg-error "expected 'data' after" } */
40 #pragma acc enter data /* { dg-error "has no data movement clause" } */
41 #pragma acc exit data /* { dg-error "has no data movement clause" } */
42 #pragma acc enter Data /* { dg-error "expected 'data' after" } */
43 #pragma acc exit copyout (b) /* { dg-error "expected 'data' after" } */