diff options
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.c | 57 |
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; + } + } +} |