Added support for Cilk Plus SIMD-enabled function for C.
[official-gcc.git] / gcc / testsuite / c-c++-common / cilk-plus / SE / vlength_errors.c
blob38d610a8679e19fcf545b01ebfae309025933d35
1 /* { dg-do compile } */
2 /* { dg-options "-fcilkplus -Wunknown-pragmas" } */
4 #define Q 4
6 int z = Q;
8 __attribute__ ((vector (uniform(x), vectorlength (), linear (y:1) ))) /* { dg-error "expected expression" } */
9 int func2 (int x, int y)
11 int zq = 5;
12 return x + (y*zq);
15 __attribute__ ((vector (uniform(x), linear (y:1), vectorlength (4.5) ))) /* { dg-error "vectorlength must be an integer" } */
16 int func3 (int x, int y)
18 int zq = 5;
19 return x + (y*zq);
22 __attribute__ ((vector (uniform(x), linear (y:1), vectorlength (z) ))) /* { dg-error "vectorlength must be an integer" } */
23 int func4 (int x, int y)
25 int zq = 5;
26 return x + (y*zq);
29 __attribute__ ((vector (uniform(x), linear (y:1), vectorlength (Q) ))) /* This is OK! */
30 int func5 (int x, int y)
32 int zq = 5;
33 return x + (y*zq);
36 __attribute__ ((vector (uniform(x), vectorlength (z), linear (y:1)))) /* { dg-error "vectorlength must be an integer" } */
37 int func6 (int x, int y)
39 int zq = 5;
40 return x + (y*zq);
43 __attribute__ ((vector (uniform(x), linear (y:1), vectorlength (sizeof (int)) ))) /* This is OK too! */
44 int func7 (int x, int y)
46 int zq = 5;
47 return x + (y*zq);
50 int main (void)
52 int ii = 0, q = 5;
53 for (ii = 0; ii < 10; ii++)
54 q += func2 (z, ii);
55 return q;