Update 'Q' constraint documentation.
[official-gcc.git] / libgomp / testsuite / libgomp.oacc-c-c++-common / gang-static-1.c
blobd8ab958f334ed2c0d41f8ca30d6b10a7ef763735
1 #include <assert.h>
3 #define N 100
5 void
6 test (int *a, int *b, int sarg)
8 int i;
10 for (i = 0; i < N; i++)
11 assert (a[i] == b[i] + sarg);
14 int
15 main ()
17 int a[N], b[N];
18 int i;
20 for (i = 0; i < N; i++)
21 b[i] = i+1;
23 #pragma acc parallel loop gang (static:*) num_gangs (10)
24 for (i = 0; i < 100; i++)
25 a[i] = b[i] + 0;
27 test (a, b, 0);
29 #pragma acc parallel loop gang (static:1) num_gangs (10)
30 for (i = 0; i < 100; i++)
31 a[i] = b[i] + 1;
33 test (a, b, 1);
35 #pragma acc parallel loop gang (static:5) num_gangs (10)
36 for (i = 0; i < 100; i++)
37 a[i] = b[i] + 5;
39 test (a, b, 5);
41 #pragma acc parallel loop gang (static:20) num_gangs (10)
42 for (i = 0; i < 100; i++)
43 a[i] = b[i] + 20;
45 test (a, b, 20);
47 return 0;