blob: 4830cbce5230138d7c8eb6dbe0d079ebca9f3770 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
int
foo ()
{
int var = 42;
[&var] () {
#pragma omp target firstprivate(var)
{
var += 26;
if (var != 42 + 26)
__builtin_abort ();
}
} ();
return var;
}
template <typename T>
struct A {
A () : a(), b()
{
[&] ()
{
#pragma omp target firstprivate (a) map (from: b)
b = ++a;
} ();
}
T a, b;
};
int
main ()
{
if (foo () != 42)
__builtin_abort ();
A<int> x;
if (x.a != 0 || x.b != 1)
__builtin_abort ();
}
|