Bump version to 19.1.0-rc3
[llvm-project.git] / offload / test / mapping / low_alignment.c
blob615a5a9c31112ee1470811f9d730bd0ffd6f9a79
1 // RUN: %libomptarget-compilexx-run-and-check-generic
3 #include <omp.h>
4 #include <stdio.h>
6 int main() {
7 struct S {
8 int i;
9 int j;
10 } s;
11 s.i = 20;
12 s.j = 30;
13 #pragma omp target data map(tofrom : s)
15 #pragma omp target map(from : s.i, s.j)
17 s.i = 21;
18 s.j = 31;
21 if (s.i == 21 && s.j == 31)
22 printf("PASS 1\n");
23 // CHECK: PASS 1
25 struct T {
26 int a;
27 int b;
28 int c;
29 int d;
30 int i;
31 int j;
32 } t;
33 t.a = 10;
34 t.i = 20;
35 t.j = 30;
36 #pragma omp target data map(from : t.i, t.j)
38 #pragma omp target map(from : t.a)
40 t.a = 11;
41 t.i = 21;
42 t.j = 31;
45 if (t.a == 11 && t.i == 21 && t.j == 31)
46 printf("PASS 2\n");
47 // CHECK: PASS 2
48 return 0;