brintos

brintos / llvm-project-archived public Read only

0
0
Text · 622 B · 1cc7f9e Raw
39 lines · c
1// RUN: %libomp-compile-and-run2#include <stdio.h>3#include "omp_testsuite.h"4 5int test_omp_master()6{7  int nthreads;8  int executing_thread;9 10  nthreads = 0;11  executing_thread = -1;12 13  #pragma omp parallel14  {15    #pragma omp master16    {17      #pragma omp critical18      {19        nthreads++;20      }21      executing_thread = omp_get_thread_num();22    } /* end of master*/23  } /* end of parallel*/24  return ((nthreads == 1) && (executing_thread == 0));25}26 27int main()28{29  int i;30  int num_failed=0;31 32  for(i = 0; i < REPETITIONS; i++) {33    if(!test_omp_master()) {34      num_failed++;35    }36  }37  return num_failed;38}39