OSDN Git Service

2008-07-28 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / gomp / for-1.c
1 /* { dg-do compile } */
2
3 void foo (int j, int k)
4 {
5   int i;
6
7   /* Valid loops.  */
8   #pragma omp for
9   for (i = 0; i < 10; i++)
10     baz (i);
11
12   #pragma omp for
13   for (i = j; i <= 10; i+=4)
14     baz (i);
15
16   #pragma omp for
17   for (i = j; i > 0; i = i - 1)
18     baz (j);
19
20   #pragma omp for
21   for (i = j; i >= k; i--)
22     baz (i);
23
24   /* Malformed parallel loops.  */
25   #pragma omp for
26   i = 0;                /* { dg-error "for statement expected" } */
27   for ( ; i < 10; )
28     {
29       baz (i);
30       i++;
31     }
32
33   #pragma omp for
34   for (i = 0; ; i--)    /* { dg-error "missing controlling predicate" } */
35     {
36       if (i >= 10)
37         break;          /* { dg-error "break" } */
38       baz (i);
39     }
40
41   #pragma omp for
42   for (i = 0; i < 10 && j > 4; i-=3)    /* { dg-error "invalid controlling predicate" } */
43     baz (i);
44
45   #pragma omp for
46   for (i = 0; i < 10; i-=3, j+=2)       /* { dg-error "invalid increment expression" } */
47     baz (i);
48 }