111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-fopenmp -fdump-tree-omplower" } */
|
|
3
|
|
4 /* Test that we adjust pointer offsets for sink variables
|
|
5 correctly. */
|
|
6
|
|
7 typedef struct {
|
|
8 char stuff[400];
|
|
9 } foo;
|
|
10
|
|
11 void
|
|
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+1)
|
|
19 void bar ();
|
|
20 bar();
|
|
21 #pragma omp ordered depend(source)
|
|
22 }
|
|
23 }
|
|
24
|
|
25 /* { dg-final { scan-tree-dump-times "depend\\(sink:p\\+400\\)" 1 "omplower" } } */
|