]> gcc.gnu.org Git - gcc.git/blob - gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested.C
merge in cxx0x-lambdas-branch@152308
[gcc.git] / gcc / testsuite / g++.dg / cpp0x / lambda / lambda-nested.C
1 // { dg-do "run" }
2 // { dg-options "-std=c++0x" }
3
4 #include <cassert>
5
6 int main() {
7 int i = 1;
8
9 [] (int& i) -> void {
10 [&] () -> void {
11 i = 2;
12 } ();
13 } (i);
14
15 assert(i == 2);
16
17 [&] () -> void {
18 [&i] () -> void {
19 i = 3;
20 } ();
21 } ();
22
23 assert(i == 3);
24
25 [&] () -> void {
26 [&] () -> void {
27 i = 4;
28 } ();
29 } ();
30
31 assert(i == 4);
32 i = 4;
33
34 [&] () -> void {
35 [=] () mutable -> void {
36 i = 5;
37 } ();
38 } ();
39
40 assert(i == 4);
41
42 [=] () mutable -> void {
43 [&] () -> void {
44 i = 6;
45 } ();
46 } ();
47
48 assert(i == 4);
49
50 return 0;
51 }
52
This page took 0.04075 seconds and 5 git commands to generate.