Set num_threads to 50 on 32-bit hppa in two libgomp loop tests
[official-gcc.git] / libgomp / testsuite / libgomp.c-c++-common / target-implicit-map-5.c
blob81a7752685c59a8ac8721abe237b5e71979abf84
1 #include <stdlib.h>
3 #define N 10
5 struct S
7 int a, b;
8 int *ptr;
9 int c, d;
12 int
13 main (void)
15 struct S a;
16 a.ptr = (int *) malloc (sizeof (int) * N);
18 for (int i = 0; i < N; i++)
19 a.ptr[i] = 0;
21 #pragma omp target enter data map(to: a.ptr)
22 #pragma omp target enter data map(to: a.ptr[:N])
24 #pragma omp target
25 for (int i = 0; i < N; i++)
26 a.ptr[i] += 1;
28 #pragma omp target update from(a.ptr[:N])
30 for (int i = 0; i < N; i++)
31 if (a.ptr[i] != 1)
32 abort ();
34 #pragma omp target map(a.ptr[:N])
35 for (int i = 0; i < N; i++)
36 a.ptr[i] += 1;
38 #pragma omp target update from(a.ptr[:N])
40 for (int i = 0; i < N; i++)
41 if (a.ptr[i] != 2)
42 abort ();
44 #pragma omp target exit data map(release: a.ptr[:N])
45 #pragma omp target exit data map(release: a.ptr)
47 free (a.ptr);
49 return 0;