aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce.C
blob: b0e2d9fbabe17c1d2898b26ebf8b12e3df7b3f4b (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
// { dg-do run { target c++11 } }
#include <cassert>

int main() {
  [] {};
  [] {} ();
  [] () {};
  [] () {} ();
  [] () { return "lambda"; };

  int i = 1, j = 2;
  [&i, j] () { i = j; } ();
  assert(i == 2);
  assert(j == 2);

  i = [] () { return 3; } ();
  assert(i == 3);

  int k = [&] () { return i; } ();

  []{ return; };

  int array[] = { 1, 2, 3 };
  int* p = [&] () { return array; } ();

  return 0;
}