Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c/pr39154.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | a06113de4d67 |
children |
line wrap: on
line source
/* PR middle-end/39154 */ /* { dg-do compile } */ /* { dg-additional-options "-std=gnu99" } */ extern void abort (void); int n = 20; int main (void) { int a[n], b[n][n]; #pragma omp parallel for for (int i = 0; i < n; i++) { a[i] = i + 1; #pragma omp parallel for for (int j = 0; j < n; j++) b[i][j] = a[i]; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) if (b[i][j] != i + 1) abort (); if (a[i] != i + 1) abort (); } #pragma omp parallel for shared (n, a, b) for (int i = 0; i < n; i++) { a[i] = i + 3; #pragma omp parallel for for (int j = 0; j < n; j++) b[i][j] = a[i]; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) if (b[i][j] != i + 3) abort (); if (a[i] != i + 3) abort (); } #pragma omp parallel for for (int i = 0; i < n; i++) { a[i] = i + 5; #pragma omp parallel for shared (n, a, b) for (int j = 0; j < n; j++) b[i][j] = a[i]; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) if (b[i][j] != i + 5) abort (); if (a[i] != i + 5) abort (); } #pragma omp parallel for shared (n, a, b) for (int i = 0; i < n; i++) { a[i] = i + 7; #pragma omp parallel for shared (n, a, b) for (int j = 0; j < n; j++) b[i][j] = a[i]; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) if (b[i][j] != i + 7) abort (); if (a[i] != i + 7) abort (); } #pragma omp parallel for private (a, b) for (int i = 0; i < n; i++) { a[i] = i + 1; #pragma omp parallel for for (int j = 0; j < n; j++) b[i][j] = a[i]; } #pragma omp parallel for private (a, b) for (int i = 0; i < n; i++) { a[i] = i + 1; #pragma omp parallel for private (b) for (int j = 0; j < n; j++) b[i][j] = a[i]; } return 0; }