projects
/
platform
/
upstream
/
gcc48.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Imported Upstream version 4.8.1
[platform/upstream/gcc48.git]
/
libgomp
/
testsuite
/
libgomp.c
/
reduction-4.c
1
#include <omp.h>
2
#include <stdlib.h>
3
4
int
5
main (void)
6
{
7
int i = 0, j = 0, k = 0, l = 0;
8
#pragma omp parallel num_threads(4) reduction(-:i) reduction(|:k) \
9
reduction(^:l)
10
{
11
if (i != 0 || k != 0 || l != 0)
12
#pragma omp atomic
13
j |= 1;
14
15
if (omp_get_num_threads () != 4)
16
#pragma omp atomic
17
j |= 2;
18
19
i = omp_get_thread_num ();
20
k = 1 << (2 * i);
21
l = 0xea << (3 * i);
22
}
23
24
if (j & 1)
25
abort ();
26
if ((j & 2) == 0)
27
{
28
if (i != (0 + 1 + 2 + 3))
29
abort ();
30
if (k != 0x55)
31
abort ();
32
if (l != 0x1e93a)
33
abort ();
34
}
35
return 0;
36
}