aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c++/target-lambda-2.C
blob: 1d3561ffbd79d51d2411cd89b03bfa89924106e4 (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
#include <cstdlib>

#define N 10
int main (void)
{
  int X, Y;
  #pragma omp target map(from: X, Y)
  {
    int x = 0, y = 0;

    for (int i = 0; i < N; i++)
      [&] (int v) { x += v; } (i);

    auto yinc = [&y] { y++; };
    for (int i = 0; i < N; i++)
      yinc ();

    X = x;
    Y = y;
  }

  int Xs = 0;
  for (int i = 0; i < N; i++)
    Xs += i;
  if (X != Xs)
    abort ();

  if (Y != N)
    abort ();
}