| /* { dg-do compile } */ | |
| /* { dg-options "-fopenmp -fdump-tree-omplower" } */ | |
| /* Test that we adjust pointer offsets for sink variables | |
| correctly. */ | |
| typedef struct { | |
| char stuff[400]; | |
| } foo; | |
| void | |
| funk (foo *begin, foo *end) | |
| { | |
| foo *p; | |
| #pragma omp parallel for ordered(1) | |
| for (p=end; p > begin; p--) | |
| { | |
| #pragma omp ordered depend(sink:p+1) | |
| void bar (); | |
| bar(); | |
| #pragma omp ordered depend(source) | |
| } | |
| } | |
| /* { dg-final { scan-tree-dump-times "depend\\(sink:p\\+400\\)" 1 "omplower" } } */ |