brintos

brintos / llvm-project-archived public Read only

0
0
Text · 571 B · ee96fce Raw
34 lines · c
1// RUN: %libomp-compile-and-run2#include <stdio.h>3#include <stdlib.h>4 5int a;6 7void run(int nteams, int nth) {8  a = 0;9#pragma omp teams num_teams(nteams)10  {11#pragma omp parallel num_threads(nth)12    {13#pragma omp task14      {15#pragma omp atomic16        a++;17      }18    }19  }20  if (a == 0)21    exit(EXIT_FAILURE);22}23 24int main() {25  int i, nteams, nth;26  for (nteams = 1; nteams <= 2; ++nteams)27    for (nth = 1; nth <= 3; ++nth)28      for (i = 0; i < 10; ++i) {29        printf("run(%d, %d)\n", nteams, nth);30        run(nteams, nth);31      }32  return EXIT_SUCCESS;33}34