URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [libgomp/] [testsuite/] [libgomp.c/] [nestedfn-3.c] - Rev 384
Compare with Previous | Blame | View Log
/* { dg-do run } */ #include <omp.h> extern void abort (void); int main (void) { int i = 5, 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 (bar ()) reduction (|:l) if (omp_get_num_threads () != 1) l = 1; i++; #pragma omp parallel if (foo ()) num_threads (bar ()) reduction (|:l) if (omp_get_num_threads () != 3) l = 1; i++; #pragma omp master if (bar () != 4) abort (); #pragma omp single { if (foo ()) abort (); i--; if (! foo ()) abort (); } if (l) abort (); i = 8; #pragma omp atomic l += bar (); if (l != 5) abort (); return 0; }