brintos

brintos / llvm-project-archived public Read only

0
0
Text · 929 B · 905ab9a Raw
48 lines · c
1// RUN: %libomp-compile-and-run2#include <stdio.h>3#include <math.h>4#include "omp_testsuite.h"5 6/* Utility function do spend some time in a loop */7int test_omp_task_imp_firstprivate()8{9  int i=5;10  int k = 0;11  int result = 0;12  int task_result = 1;13  #pragma omp parallel firstprivate(i)14  {15    #pragma omp single16    {17      for (k = 0; k < NUM_TASKS; k++) {18        #pragma omp task shared(result , task_result)19        {20          int j;21          //check if i is private22          if(i != 5)23            task_result = 0;24          for(j = 0; j < NUM_TASKS; j++)25            i++;26          //this should be firstprivate implicitly27        }28      }29      #pragma omp taskwait30      result = (task_result && i==5);31    }32  }33  return result;34}35 36int main()37{38  int i;39  int num_failed=0;40 41  for(i = 0; i < REPETITIONS; i++) {42    if(!test_omp_task_imp_firstprivate()) {43      num_failed++;44    }45  }46  return num_failed;47}48