1617a3babSopenharmony_ci#version 330 core 2617a3babSopenharmony_ci 3617a3babSopenharmony_civoid main() {} 4617a3babSopenharmony_ci 5617a3babSopenharmony_cifloat bar(int); 6617a3babSopenharmony_ci 7617a3babSopenharmony_ci// direct recursion 8617a3babSopenharmony_ci 9617a3babSopenharmony_civoid self() 10617a3babSopenharmony_ci{ 11617a3babSopenharmony_ci self(); 12617a3babSopenharmony_ci} 13617a3babSopenharmony_ci 14617a3babSopenharmony_ci// two-level recursion 15617a3babSopenharmony_ci 16617a3babSopenharmony_civoid foo(float) 17617a3babSopenharmony_ci{ 18617a3babSopenharmony_ci bar(2); 19617a3babSopenharmony_ci} 20617a3babSopenharmony_ci 21617a3babSopenharmony_cifloat bar(int) 22617a3babSopenharmony_ci{ 23617a3babSopenharmony_ci foo(4.2); 24617a3babSopenharmony_ci 25617a3babSopenharmony_ci return 3.2; 26617a3babSopenharmony_ci} 27617a3babSopenharmony_ci 28617a3babSopenharmony_ci// four-level, out of order 29617a3babSopenharmony_ci 30617a3babSopenharmony_civoid B(); 31617a3babSopenharmony_civoid D(); 32617a3babSopenharmony_civoid A() { B(); } 33617a3babSopenharmony_civoid C() { D(); } 34617a3babSopenharmony_civoid B() { C(); } 35617a3babSopenharmony_civoid D() { A(); } 36617a3babSopenharmony_ci 37617a3babSopenharmony_ci// high degree 38617a3babSopenharmony_ci 39617a3babSopenharmony_civoid BT(); 40617a3babSopenharmony_civoid DT(); 41617a3babSopenharmony_civoid AT() { BT(); BT(); BT(); } 42617a3babSopenharmony_civoid CT() { DT(); AT(); DT(); BT(); } 43617a3babSopenharmony_civoid BT() { CT(); CT(); CT(); } 44617a3babSopenharmony_civoid DT() { AT(); } 45