blob: ce338d0ddf9abab8bc720b2f58a0ad51f8bd8a8b [file] [log] [blame]
#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;
}