LLVM OpenMP
mixed-sign.c
Go to the documentation of this file.
1// RUN: %libomp-compile -fopenmp-version=61 && %libomp-run \
2// RUN: | FileCheck %s --match-full-lines
3
4#include <stdio.h>
5#include <stdlib.h>
6
7typedef __SIZE_TYPE__ size_t;
8
9static void flatten(int n) {
10#pragma omp flatten depth(2)
11 for (size_t i = 0; i < (size_t)n; ++i)
12 for (int j = 0; j < n; ++j)
13 printf("i=%zu j=%d\n", i, j);
14}
15
16int main(void) {
17 printf("n2-begin\n");
18 flatten(2);
19 printf("n2-end\n");
20
21 printf("n0-begin\n");
22 flatten(0);
23 printf("n0-end\n");
24
25 printf("nneg-begin\n");
26 flatten(-2);
27 printf("nneg-end\n");
28 return EXIT_SUCCESS;
29}
30
31// CHECK: n2-begin
32// CHECK-NEXT: i=0 j=0
33// CHECK-NEXT: i=0 j=1
34// CHECK-NEXT: i=1 j=0
35// CHECK-NEXT: i=1 j=1
36// CHECK-NEXT: n2-end
37// CHECK-NEXT: n0-begin
38// CHECK-NEXT: n0-end
39// CHECK-NEXT: nneg-begin
40// CHECK-NEXT: nneg-end
#define i
Definition kmp_stub.cpp:88
int main(void)
Definition mixed-sign.c:16
__SIZE_TYPE__ size_t
Definition mixed-sign.c:7
static void flatten(int n)
Definition mixed-sign.c:9