sched1: debug/model: dump predecessor list and BB num [NFC]
[gcc.git] / libgomp / testsuite / libgomp.c++ / target-this-2.C
blob8119be8c2c5df9ddcbf9f47a0d539f435900214a
2 // We use 'auto' without a function return type, so specify dialect here
3 // { dg-additional-options "-std=c++14" }
5 extern "C" void abort ();
7 struct T
9   int x, y;
11   auto sum_func (int n)
12   {
13     auto fn = [=](int m) -> int
14       {
15         int v;
16         v = (x + y) * n + m;
17         return v;
18       };
19     return fn;
20   }
22   auto sum_func_offload (int n)
23   {
24     auto fn = [=](int m) -> int
25       {
26         int v;
27         #pragma omp target map(from:v)
28         v = (x + y) * n + m;
29         return v;
30       };
31     return fn;
32   }
36 int main (void)
38   T a = { 1, 2 };
40   auto s1 = a.sum_func (3);
41   auto s2 = a.sum_func_offload (3);
43   if (s1 (1) != s2 (1))
44     abort ();
46   return 0;