Retro68/gcc/libgomp/testsuite/libgomp.c++/parallel-1.C
2018-12-28 16:30:48 +01:00

42 lines
545 B
C

#include <omp.h>
extern "C" void abort (void);
int
foo (void)
{
return 10;
}
int
main ()
{
int A = 0;
#pragma omp parallel if (foo () > 10) shared (A)
{
A = omp_get_num_threads ();
}
if (A != 1)
abort ();
#pragma omp parallel if (foo () == 10) num_threads (3) shared (A)
{
A = omp_get_num_threads ();
}
if (A != 3)
abort ();
#pragma omp parallel if (foo () == 10) num_threads (foo ()) shared (A)
{
A = omp_get_num_threads ();
}
if (A != 10)
abort ();
return 0;
}