John Kessenich | 2ecdd14 | 2013-10-01 21:58:43 +0000 | [diff] [blame] | 1 | #version 330 core |
2 | |||||
3 | void main() {} | ||||
4 | |||||
5 | float bar(int); | ||||
6 | |||||
7 | // direct recursion | ||||
8 | |||||
9 | void self() | ||||
10 | { | ||||
11 | self(); | ||||
12 | } | ||||
13 | |||||
14 | // two-level recursion | ||||
15 | |||||
16 | void foo(float) | ||||
17 | { | ||||
18 | bar(2); | ||||
19 | } | ||||
20 | |||||
21 | float bar(int) | ||||
22 | { | ||||
23 | foo(4.2); | ||||
24 | |||||
25 | return 3.2; | ||||
26 | } | ||||
27 | |||||
28 | // four-level, out of order | ||||
29 | |||||
30 | void B(); | ||||
31 | void D(); | ||||
32 | void A() { B(); } | ||||
33 | void C() { D(); } | ||||
34 | void B() { C(); } | ||||
35 | void D() { A(); } | ||||
36 | |||||
37 | // high degree | ||||
38 | |||||
39 | void BT(); | ||||
40 | void DT(); | ||||
41 | void AT() { BT(); BT(); BT(); } | ||||
42 | void CT() { DT(); AT(); DT(); BT(); } | ||||
43 | void BT() { CT(); CT(); CT(); } | ||||
44 | void DT() { AT(); } |