Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c/reduction-5.c @ 64:d9bee9007a48
Added tag gcc-4.6-20100522 for changeset b7f97abdc517
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:48:09 +0900 |
parents | a06113de4d67 |
children |
line wrap: on
line source
/* PR middle-end/36506 */ extern void abort (void); int main (void) { int sum = 0, prod = 1; #pragma omp parallel #pragma omp sections reduction (+:sum) { #pragma omp section sum += 2; #pragma omp section sum += 2; #pragma omp section sum += 2; } if (sum != 6) abort (); sum = 0; #pragma omp parallel sections reduction (+:sum) { #pragma omp section sum += 2; #pragma omp section sum += 2; #pragma omp section sum += 2; } if (sum != 6) abort (); sum = 0; #pragma omp parallel #pragma omp sections reduction (+:sum) reduction (*:prod) { #pragma omp section { sum += 2; prod *= 2; } #pragma omp section { sum += 2; prod *= 2; } #pragma omp section { sum += 2; prod *= 2; } } if (sum != 6 || prod != 8) abort (); sum = 0; prod = 1; #pragma omp parallel sections reduction (+:sum) reduction (*:prod) { #pragma omp section { sum += 2; prod *= 2; } #pragma omp section { sum += 2; prod *= 2; } #pragma omp section { sum += 2; prod *= 2; } } if (sum != 6 || prod != 8) abort (); return 0; }