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