1 // Test parsing of #pragma omp declare simd
4 #pragma omp declare simd
5 int a; // { dg-error "not immediately followed by function declaration or definition" }
7 #pragma omp declare simd
8 int fn1 (int a), fn2 (int a); // { dg-error "not immediately followed by a single function declaration or definition" }
10 #pragma omp declare simd
11 int b, fn3 (int a); // { dg-error "not immediately followed by function declaration or definition" }
13 #pragma omp declare simd linear (a)
14 int fn4 (int a), c; // { dg-error "not immediately followed by function declaration or definition" }
16 #pragma omp declare simd
17 extern "C" // { dg-error "not immediately followed by function declaration or definition" }
22 #pragma omp declare simd // { dg-error "not immediately followed by function declaration or definition" }
28 #pragma omp declare simd simdlen (4)
30 { // { dg-error "not immediately followed by function declaration or definition" }
34 #pragma omp declare simd
37 { // { dg-error "not immediately followed by function declaration or definition" }
43 #pragma omp declare simd // { dg-error "not immediately followed by function declaration or definition" }
44 public: // { dg-error "expected unqualified-id before" }
50 #pragma omp declare simd
51 #pragma omp declare simd
52 #pragma omp threadprivate(t) // { dg-error "not immediately followed by function declaration or definition" }
55 #pragma omp declare simd inbranch notinbranch // { dg-error "clause is incompatible with" }
61 #pragma omp declare simd simdlen (N) linear (a : sizeof (e) + sizeof (this->e)) // { dg-error "was not declared" }
67 #pragma omp declare simd aligned (a, b, c, d)
68 int fn13 (int *a, int b[64], int *&c, int (&d)[64]);
70 #pragma omp declare simd aligned (a) // { dg-error "neither a pointer nor an array" }
73 #pragma omp declare simd aligned (b) // { dg-error "neither a pointer nor an array" }
76 #pragma omp declare simd aligned (c) // { dg-error "neither a pointer nor an array" }
79 #pragma omp declare simd aligned (d) // { dg-error "neither a pointer nor an array" }
82 #pragma omp declare simd aligned (e) // { dg-error "neither a pointer nor an array" }
85 #pragma omp declare simd linear(a:7) uniform(a) // { dg-error "appears more than once" }
87 #pragma omp declare simd linear(a) linear(a) // { dg-error "appears more than once" }
89 #pragma omp declare simd linear(a) linear(a:7) // { dg-error "appears more than once" }
91 #pragma omp declare simd linear(a:6) linear(a:6)// { dg-error "appears more than once" }
93 #pragma omp declare simd uniform(a) uniform(a) // { dg-error "appears more than once" }
95 #pragma omp declare simd uniform(a) aligned (a: 32)
98 // { dg-error "has no member" "" { target *-*-* } 61 }