46 lines · c
1// RUN: %libomp-cxx-compile-and-run | FileCheck %s --match-full-lines2 3#ifndef HEADER4#define HEADER5 6#include <cstdlib>7#include <cstdio>8 9int main() {10 printf("do\n");11#pragma omp parallel for collapse(2) num_threads(1)12 for (int i = 0; i < 3; ++i)13#pragma omp fuse14 {15 for (int j = 0; j < 3; ++j)16 printf("i=%d j=%d\n", i, j);17 for (int k = 0; k < 3; ++k)18 printf("i=%d k=%d\n", i, k);19 }20 printf("done\n");21 return EXIT_SUCCESS;22}23 24#endif /* HEADER */25 26// CHECK: do27// CHECK-NEXT: i=0 j=028// CHECK-NEXT: i=0 k=029// CHECK-NEXT: i=0 j=130// CHECK-NEXT: i=0 k=131// CHECK-NEXT: i=0 j=232// CHECK-NEXT: i=0 k=233// CHECK-NEXT: i=1 j=034// CHECK-NEXT: i=1 k=035// CHECK-NEXT: i=1 j=136// CHECK-NEXT: i=1 k=137// CHECK-NEXT: i=1 j=238// CHECK-NEXT: i=1 k=239// CHECK-NEXT: i=2 j=040// CHECK-NEXT: i=2 k=041// CHECK-NEXT: i=2 j=142// CHECK-NEXT: i=2 k=143// CHECK-NEXT: i=2 j=244// CHECK-NEXT: i=2 k=245// CHECK-NEXT: done46