1 // RUN: %libomp-compile && env OMP_DISPLAY_AFFINITY=true OMP_PLACES=threads OMP_PROC_BIND=spread,close %libomp-run | %python %S/check.py -c 'CHECK' %s
2 // REQUIRES: affinity
3 
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <omp.h>
7 
main(int argc,char ** argv)8 int main(int argc, char** argv) {
9   omp_set_affinity_format("TESTER: tl:%L at:%a tn:%n nt:%N");
10   omp_set_nested(1);
11   #pragma omp parallel num_threads(4)
12   {
13     #pragma omp parallel num_threads(3)
14     { }
15   }
16   return 0;
17 }
18 
19 // CHECK: num_threads=4 TESTER: tl:1 at:0 tn:[0-3] nt:4
20 // CHECK: num_threads=3 TESTER: tl:2 at:[0-3] tn:[0-2] nt:3
21 // CHECK: num_threads=3 TESTER: tl:2 at:[0-3] tn:[0-2] nt:3
22 // CHECK: num_threads=3 TESTER: tl:2 at:[0-3] tn:[0-2] nt:3
23 // CHECK: num_threads=3 TESTER: tl:2 at:[0-3] tn:[0-2] nt:3
24