1// RUN: %libomp-compile && env KMP_AFFINITY=compact %libomp-run
2
3#include <stdio.h>
4#include <stdint.h>
5#include <omp.h>
6#include "omp_testsuite.h"
7
8int test_nested_affinity_bug() {
9 int a = 0;
10 omp_set_nested(1);
11 #pragma omp parallel num_threads(2) shared(a)
12 {
13 #pragma omp parallel num_threads(2) shared(a) proc_bind(close)
14 {
15 #pragma omp atomic
16 a++;
17 }
18 }
19 return 1;
20}
21
22int main() {
23 int i;
24 int num_failed = 0;
25
26 for (i = 0; i < REPETITIONS; i++) {
27 if (!test_nested_affinity_bug()) {
28 num_failed++;
29 }
30 }
31 return num_failed;
32}
33

source code of openmp/runtime/test/affinity/bug-nested.c