• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#version 330 core
2
3// cross-unit recursion
4
5void main() {}
6
7// two-level recursion
8
9float cbar(int);
10
11void cfoo(float)
12{
13	cbar(2);
14}
15
16// four-level, out of order
17
18void CB();
19void CD();
20void CA() { CB(); }
21void CC() { CD(); }
22
23// high degree
24
25void CBT();
26void CDT();
27void CAT() { CBT(); CBT(); CBT(); }
28void CCT() { CDT(); CDT(); CBT(); }
29
30// not recursive
31
32void norA() {}
33void norB() { norA(); }
34void norC() { norA(); }
35void norD() { norA(); }
36void norE() { norB(); }
37void norF() { norB(); }
38void norG() { norE(); }
39void norH() { norE(); }
40void norI() { norE(); }
41
42// not recursive, but with a call leading into a cycle if ignoring direction
43
44void norcA() { }
45void norcB() { norcA(); }
46void norcC() { norcB(); }
47void norcD() { norcC(); norcB(); } // head of cycle
48void norcE() { norcD(); } // lead into cycle
49