sched1: debug/model: dump predecessor list and BB num [NFC]
[gcc.git] / libgomp / testsuite / libgomp.c++ / class-array-1.C
blobd8d3f7f1f99a32f178cf3239fca92c2f0fe49ef8
1 /* { dg-do run } */
3 #include <cassert>
5 #define N 1024
7 class M {
8   int array[N];
10 public:
11   M ()
12   {
13     for (int i = 0; i < N; i++)
14       array[i] = 0;
15   }
17   void incr_with_this (int c)
18   {
19 #pragma omp target map(this->array[:N])
20     for (int i = 0; i < N; i++)
21       array[i] += c;
22   }
24   void incr_without_this (int c)
25   {
26 #pragma omp target map(array[:N])
27     for (int i = 0; i < N; i++)
28       array[i] += c;
29   }
31   void incr_implicit (int c)
32   {
33 #pragma omp target
34     for (int i = 0; i < N; i++)
35       array[i] += c;
36   }
38   void check (int c)
39   {
40     for (int i = 0; i < N; i++)
41       assert (array[i] == c);
42   }
45 int
46 main (int argc, char *argv[])
48   M m;
50   m.check (0);
51   m.incr_with_this (3);
52   m.check (3);
53   m.incr_without_this (5);
54   m.check (8);
55   m.incr_implicit (2);
56   m.check (10);
58   return 0;