mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-23 10:31:22 +00:00
42 lines
545 B
C
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;
|
|
}
|