Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c/nestedfn-4.c @ 44:a14cd9f25ac4
merge.
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 Jan 2010 17:27:45 +0900 |
parents | a06113de4d67 |
children |
line wrap: on
line source
/* PR middle-end/25261 */ /* { dg-do run } */ #include <omp.h> extern void abort (void); int main (void) { int i = 5, j, l = 0; int foo (void) { return i == 6; } int bar (void) { return i - 3; } omp_set_dynamic (0); #pragma omp parallel if (foo ()) num_threads (2) if (omp_get_num_threads () != 1) #pragma omp atomic l++; #pragma omp parallel for schedule (static, bar ()) num_threads (2) \ reduction (|:l) for (j = 0; j < 4; j++) if (omp_get_thread_num () != (j >= 2)) #pragma omp atomic l++; i++; #pragma omp parallel if (foo ()) num_threads (2) if (omp_get_num_threads () != 2) #pragma omp atomic l++; #pragma omp parallel for schedule (static, bar ()) num_threads (2) \ reduction (|:l) for (j = 0; j < 6; j++) if (omp_get_thread_num () != (j >= 3)) #pragma omp atomic l++; #pragma omp parallel num_threads (4) reduction (|:l) if (!foo () || bar () != 3) #pragma omp atomic l++; i++; #pragma omp parallel num_threads (4) reduction (|:l) if (foo () || bar () != 4) #pragma omp atomic l++; if (l) abort (); return 0; }