Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c-c++-common/taskloop-1.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-options "-O2" } */ /* { dg-additional-options "-std=c99" { target c } } */ int q, r, e; __attribute__((noinline, noclone)) void foo (long a, long b) { #pragma omp taskloop lastprivate (q) nogroup for (long d = a; d < b; d += 2) { q = d; if (d < 2 || d > 6 || (d & 1)) #pragma omp atomic e |= 1; } } __attribute__((noinline, noclone)) int bar (int a, int b) { int q = 7; #pragma omp taskloop lastprivate (q) for (int d = a; d < b; d++) { if (d < 12 || d > 17) #pragma omp atomic e |= 1; q = d; } return q; } int main () { #pragma omp parallel #pragma omp single { foo (2, 7); r = bar (12, 18); } if (q != 6 || r != 17 || e) __builtin_abort (); return 0; }