Mercurial > hg > CbC > CbC_gcc
comparison libgomp/testsuite/libgomp.c/nonmonotonic-1.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* { dg-do run } */ | |
2 | |
3 #ifndef NONMONOTONIC_TYPE | |
4 #include <omp.h> | |
5 #include <stdlib.h> | |
6 #define NONMONOTONIC_TYPE int | |
7 #define NONMONOTONIC_END(n) n | |
8 #endif | |
9 | |
10 int a[73]; | |
11 | |
12 int | |
13 main () | |
14 { | |
15 NONMONOTONIC_TYPE i; | |
16 #pragma omp parallel for schedule(nonmonotonic: dynamic) | |
17 for (i = 0; i < NONMONOTONIC_END (73); i++) | |
18 a[i]++; | |
19 #pragma omp parallel for schedule(nonmonotonic: dynamic, 5) | |
20 for (i = 0; i < NONMONOTONIC_END (73); i++) | |
21 a[i]++; | |
22 #pragma omp parallel for schedule(nonmonotonic: guided) | |
23 for (i = 0; i < NONMONOTONIC_END (73); i++) | |
24 a[i]++; | |
25 #pragma omp parallel for schedule(nonmonotonic: guided, 7) | |
26 for (i = 0; i < NONMONOTONIC_END (73); i++) | |
27 a[i]++; | |
28 #pragma omp parallel | |
29 { | |
30 int cnt = omp_get_num_threads (); | |
31 int thr = omp_get_thread_num (); | |
32 if (thr < 73) | |
33 a[thr]++; | |
34 #pragma omp barrier | |
35 #pragma omp for schedule(nonmonotonic: dynamic) | |
36 for (i = 0; i < NONMONOTONIC_END (73); i++) | |
37 a[i]++; | |
38 #pragma omp for schedule(nonmonotonic: dynamic, 7) | |
39 for (i = 0; i < NONMONOTONIC_END (73); i++) | |
40 a[i]++; | |
41 #pragma omp for schedule(nonmonotonic: guided) | |
42 for (i = 0; i < NONMONOTONIC_END (73); i++) | |
43 a[i]++; | |
44 #pragma omp for schedule(nonmonotonic: guided, 5) | |
45 for (i = 0; i < NONMONOTONIC_END (73); i++) | |
46 a[i]++; | |
47 #pragma omp single private (i) | |
48 for (i = 0; i < 73; i++) | |
49 if (a[i] != 8 + (i < cnt)) | |
50 abort (); | |
51 } | |
52 return 0; | |
53 } |