brintos

brintos / llvm-project-archived public Read only

0
0
Text · 696 B · daf286d Raw
40 lines · c
1// RUN: %libomp-compile-and-run2#include <stdio.h>3#include "omp_testsuite.h"4 5int test_omp_get_num_threads()6{7  /* checks that omp_get_num_threads is equal to the number of8     threads */9  int nthreads_lib;10  int nthreads = 0;11 12  nthreads_lib = -1;13 14  #pragma omp parallel15  {16    #pragma omp critical17    {18      nthreads++;19    } /* end of critical */20    #pragma omp single21    {22      nthreads_lib = omp_get_num_threads ();23    }  /* end of single */24  } /* end of parallel */25  return (nthreads == nthreads_lib);26}27 28int main()29{30  int i;31  int num_failed=0;32 33  for(i = 0; i < REPETITIONS; i++) {34    if(!test_omp_get_num_threads()) {35      num_failed++;36    }37  }38  return num_failed;39}40