1 /* { dg-do compile } */
2 /* { dg-options "-fopenmp -fdump-tree-omplower" } */
3 
4 /* Test that we fold sink offsets correctly while taking into account
5    pointer sizes.  */
6 
7 typedef struct {
8     char stuff[400];
9 } foo;
10 
11 void
funk(foo * begin,foo * end)12 funk (foo *begin, foo *end)
13 {
14   foo *p;
15 #pragma omp parallel for ordered(1)
16   for (p=end; p > begin; p--)
17     {
18 #pragma omp ordered depend(sink:p+2) depend(sink:p+4)
19       void bar ();
20         bar();
21 #pragma omp ordered depend(source)
22     }
23 }
24 
25 /* { dg-final { scan-tree-dump-times "depend\\(sink:p\\+800\\)" 1 "omplower" } } */
26