Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c++/reduction-4.C @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do run } extern "C" void abort (void); template <typename I, typename F> void foo () { I j = -10000; F f = 1024.0; int i; #pragma omp parallel for reduction (min:f) reduction (max:j) for (i = 0; i < 4; i++) switch (i) { case 0: if (j < -16) j = -16; break; case 1: if (f > -2.0) f = -2.0; break; case 2: if (j < 8) j = 8; if (f > 9.0) f = 9.0; break; case 3: break; } if (j != 8 || f != -2.0) abort (); } int main () { int j = -10000; float f = 1024.0; int i; #pragma omp parallel for reduction (min:f) reduction (max:j) for (i = 0; i < 4; i++) switch (i) { case 0: if (j < -16) j = -16; break; case 1: if (f > -2.0) f = -2.0; break; case 2: if (j < 8) j = 8; if (f > 9.0) f = 9.0; break; case 3: break; } if (j != 8 || f != -2.0) abort (); foo <int, float> (); foo <long, double> (); foo <long long, long double> (); return 0; }