Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c/pr39154.c @ 120:f93fa5091070
fix conv1.c
author | mir3636 |
---|---|
date | Thu, 08 Mar 2018 14:53:42 +0900 |
parents | 04ced10e8804 |
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; }