1/* { dg-do compile } */
2/* { dg-options "-fcilkplus -Wunknown-pragmas" } */
3/* { dg-additional-options "-std=c99" { target c } } */
4
5
6char Array1[26];
7
8#pragma cilk grainsize = 2 /* { dg-error "must be inside a function" } */
9
10int main(int argc, char **argv)
11{
12/* This is OK.  */
13#pragma cilk grainsize = 2
14  _Cilk_for (int ii = 0; ii < 10; ii++)
15    Array1[ii] = 0;
16
17#pragma cilk grainsize 2 /* { dg-error "expected '=' before numeric constant" } */
18  _Cilk_for (int ii = 0; ii < 10; ii++)
19    Array1[ii] = 0;
20
21#pragma cilk grainsiz = 2 /* { dg-warning "ignoring #pragma cilk grainsiz" } */
22  _Cilk_for (int ii = 0; ii < 10; ii++)
23    Array1[ii] = 0;
24
25
26/* This is OK, it will do a type conversion to long int.  */
27#pragma cilk grainsize = 0.5
28  _Cilk_for (int ii = 0; ii < 10; ii++)
29    Array1[ii] = 0;
30
31#pragma cilk grainsize = 1
32  while (Array1[5] != 0) /* { dg-warning "is not followed by" } */
33    {
34    /* Blah */
35    }
36
37#pragma cilk grainsize = 1
38  int q = 0; /* { dg-warning "is not followed by" } */
39  _Cilk_for (q = 0; q < 10; q++) /* { dg-error "allows expression instead of declaration" "" { target c++ } } */
40    Array1[q] = 5;
41
42  while (Array1[5] != 0)
43    {
44    /* Blah */
45    }
46
47  return 0;
48}
49