d: Merge upstream dmd 47871363d, druntime, c52e28b7, phobos 99e9c1b77.
[official-gcc.git] / gcc / testsuite / gdc.test / runnable / manboy.d
blob6f353e9c14315b76f4dd9dc3ec9780eea87a3d81
1 // PERMUTE_ARGS:
3 import core.stdc.stdio;
5 int a(int k, lazy int x1, lazy int x2, lazy int x3, lazy int x4, lazy int x5)
7 int delegate() b;
8 b = { k -= 1; return a(k, b(), x1, x2, x3, x4); };
9 if (k <= 0)
10 return x4 + x5;
11 else
12 return b();
15 int main()
17 assert(a(10, 1, -1, -1, 1, 0) == -67);
18 return 0;