brintos

brintos / llvm-project-archived public Read only

0
0
Text · 582 B · 9e44d55 Raw
40 lines · c
1// RUN: %libomp-compile-and-run2 3#include <stdio.h>4#include <stdlib.h>5#include <omp.h>6#include "omp_my_sleep.h"7 8int a = 0;9 10void task1() {11  my_sleep(0.5);12  a = 10;13}14 15void task2() {16  a++;17}18 19int main(int argc, char** argv)20{21  #pragma omp parallel shared(argc) num_threads(2)22  {23    #pragma omp single24    {25      #pragma omp task depend(out: a)26      task1();27 28      #pragma omp task if(0) depend(inout: a)29      task2();30    }31  }32  if (a != 11) {33    fprintf(stderr, "fail: expected 11, but a is %d\n", a);34    exit(1);35  } else {36    printf("pass\n");37  }38  return 0;39}40