1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #include <omp.h>
- extern 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;
- }
|