PR middle-end/77674
[official-gcc.git] / gcc / testsuite / g++.dg / gomp / declare-simd-6.C
blob09137ee5b98f4e9c579e87304b7add36c982b1db
1 // PR c++/71257
2 // { dg-do compile }
3 // { dg-options "-fopenmp-simd" }
5 struct S { int a; };
6 #pragma omp declare simd linear(val(a):2)
7 int f1 (int &a);
8 #pragma omp declare simd linear(uval(a):2)
9 unsigned short f2 (unsigned short &a);
10 #pragma omp declare simd linear(ref(a):1)
11 int f3 (long long int &a);
12 #pragma omp declare simd linear(a:1)
13 int f4 (int &a);
14 #pragma omp declare simd linear(val(a))
15 int f5 (int a);
16 #pragma omp declare simd linear(uval(a):2)              // { dg-error "modifier applied to non-reference variable" }
17 int f6 (unsigned short a);
18 #pragma omp declare simd linear(ref(a):1)               // { dg-error "modifier applied to non-reference variable" }
19 int f7 (unsigned long int a);
20 #pragma omp declare simd linear(a:1)
21 int f8 (int a);
22 #pragma omp declare simd linear(val(a):2)               // { dg-error "applied to non-integral non-pointer variable" }
23 int f9 (S &a);
24 #pragma omp declare simd linear(uval(a):2)              // { dg-error "applied to non-integral non-pointer variable" }
25 int f10 (S &a);
26 #pragma omp declare simd linear(ref(a):1)               // { dg-bogus "applied to non-integral non-pointer variable" }
27 int f11 (S &a);
28 #pragma omp declare simd linear(a:1)                    // { dg-error "applied to non-integral non-pointer variable" }
29 int f12 (S &a);
30 #pragma omp declare simd linear(val(a))                 // { dg-error "applied to non-integral non-pointer variable" }
31 int f13 (S a);
32 #pragma omp declare simd linear(uval(a):2)              // { dg-error "modifier applied to non-reference variable" }
33 int f14 (S a);
34 #pragma omp declare simd linear(ref(a):1)               // { dg-error "modifier applied to non-reference variable" }
35 int f15 (S a);
36 #pragma omp declare simd linear(a:1)                    // { dg-error "applied to non-integral non-pointer variable" }
37 int f16 (S a);