Merged revisions 208012,208018-208019,208021,208023-208030,208033,208037,208040-20804...
[official-gcc.git] / main / gcc / testsuite / g++.dg / cpp0x / lambda / lambda-recursive.C
blobcbaeb16201f6a308c6c37857fc555884b37f042e
1 // { dg-do run { target c++11 } }
3 //#include <iostream>
4 #include <functional>
5 #include <cassert>
7 int main() {
9   std::function<int(int)> fib = [&fib] (int n) -> int {
10     //std::cerr << "fib(" << n << ")\n";
11     if (n <= 2) return 1;
12     else        return fib(n-1) + fib(n-2);
13   };
15   assert(fib(5) == 5);
16   assert(fib(10) == 55);
18   return 0;