annotate libgomp/testsuite/libgomp.c/pr80809-1.c @ 138:fc828634a951

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 08 Nov 2018 14:17:14 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR middle-end/80809 */
kono
parents:
diff changeset
2 /* { dg-do run } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 __attribute__((noinline, noclone)) void
kono
parents:
diff changeset
5 foo (int x)
kono
parents:
diff changeset
6 {
kono
parents:
diff changeset
7 int i, j, v[x], *w[16];
kono
parents:
diff changeset
8 for (i = 0; i < x; i++)
kono
parents:
diff changeset
9 v[i] = i;
kono
parents:
diff changeset
10 #pragma omp parallel
kono
parents:
diff changeset
11 #pragma omp single
kono
parents:
diff changeset
12 for (i = 0; i < 16; i++)
kono
parents:
diff changeset
13 /* Make sure v is implicitly determined shared in task, because it
kono
parents:
diff changeset
14 is shared on the parallel. */
kono
parents:
diff changeset
15 #pragma omp task private (j)
kono
parents:
diff changeset
16 w[i] = v;
kono
parents:
diff changeset
17 for (i = 0; i < 16; i++)
kono
parents:
diff changeset
18 if (w[i] != v)
kono
parents:
diff changeset
19 __builtin_abort ();
kono
parents:
diff changeset
20 }
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 int
kono
parents:
diff changeset
23 main ()
kono
parents:
diff changeset
24 {
kono
parents:
diff changeset
25 foo (4);
kono
parents:
diff changeset
26 foo (27);
kono
parents:
diff changeset
27 foo (196);
kono
parents:
diff changeset
28 return 0;
kono
parents:
diff changeset
29 }