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)12funk (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