xref: /llvm-project/openmp/runtime/test/tasking/nested_parallel_tasking.c (revision c76f9f0df81de05e19e15a7c756d50b413cddbb9)
1 // RUN: %libomp-compile-and-run
2 #include <stdio.h>
3 #include <omp.h>
4 
5 /*
6  * This test would hang when level instead of active level
7  * used to push task state.
8  */
9 
main()10 int main()
11 {
12   // If num_threads is changed to a value greater than 1, then the test passes
13   #pragma omp parallel num_threads(1)
14   {
15     #pragma omp parallel
16     printf("Hello World from thread %d\n", omp_get_thread_num());
17   }
18 
19   printf("omp_num_threads: %d\n", omp_get_max_threads());
20 
21   #pragma omp parallel
22   {
23     #pragma omp master
24     #pragma omp task default(none)
25     {
26       printf("%d is executing this task\n", omp_get_thread_num());
27     }
28   }
29 
30   printf("pass\n");
31   return 0;
32 }
33