| #version 330 core | |
| void main() {} | |
| float bar(int); | |
| // direct recursion | |
| void self() | |
| { | |
| self(); | |
| } | |
| // two-level recursion | |
| void foo(float) | |
| { | |
| bar(2); | |
| } | |
| float bar(int) | |
| { | |
| foo(4.2); | |
| return 3.2; | |
| } | |
| // four-level, out of order | |
| void B(); | |
| void D(); | |
| void A() { B(); } | |
| void C() { D(); } | |
| void B() { C(); } | |
| void D() { A(); } | |
| // high degree | |
| void BT(); | |
| void DT(); | |
| void AT() { BT(); BT(); BT(); } | |
| void CT() { DT(); AT(); DT(); BT(); } | |
| void BT() { CT(); CT(); CT(); } | |
| void DT() { AT(); } |