aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr56883.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr56883.c')
-rw-r--r--gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr56883.c57
1 files changed, 57 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr56883.c b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr56883.c
new file mode 100644
index 000000000..443906d86
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/c-c++-common/gomp/pr56883.c
@@ -0,0 +1,57 @@
+/* PR middle-end/56883 */
+/* { dg-do compile }
+/* { dg-options "-O2 -fopenmp" } */
+
+void
+f1 (int ***x)
+{
+ int i, j, k;
+#pragma omp parallel for
+ for (i = 0; i < 10; ++i)
+ {
+ #pragma omp parallel shared(j)
+ #pragma omp for
+ for (j = 0; j < 10; ++j)
+ {
+ #pragma omp parallel for
+ for (k = 0; k < 10; ++k)
+ x[i][j][k] = k;
+ }
+ }
+}
+
+void
+f2 (int ***x)
+{
+ int i, j, k;
+#pragma omp parallel for schedule(static,1)
+ for (i = 0; i < 10; ++i)
+ {
+ #pragma omp parallel shared(j)
+ #pragma omp for schedule(static,1)
+ for (j = 0; j < 10; ++j)
+ {
+ #pragma omp parallel for schedule(static,1)
+ for (k = 0; k < 10; ++k)
+ x[i][j][k] = k;
+ }
+ }
+}
+
+void
+f3 (int ***x)
+{
+ int i, j, k;
+#pragma omp parallel for schedule(runtime)
+ for (i = 0; i < 10; ++i)
+ {
+ #pragma omp parallel shared(j)
+ #pragma omp for schedule(runtime)
+ for (j = 0; j < 10; ++j)
+ {
+ #pragma omp parallel for schedule(runtime)
+ for (k = 0; k < 10; ++k)
+ x[i][j][k] = k;
+ }
+ }
+}