33 lines · c
1// RUN: %libomp-compile && env KMP_AFFINITY=compact %libomp-run2 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 atomic16 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