misc-no-recursion¶
Finds strongly connected functions (by analyzing the call graph for SCC’s (Strongly Connected Components) that are loops), diagnoses each function in the cycle, and displays one example of a possible call graph loop (recursion).
References:
CERT C++ Coding Standard rule DCL56-CPP. Avoid cycles during initialization of static objects.
JPL Institutional Coding Standard for the C Programming Language (JPL DOCID D-60411) rule 2.4 Do not use direct or indirect recursion.
OpenCL Specification, Version 1.2 rule 6.9 Restrictions: i. Recursion is not supported..
Limitations:
The check does not handle calls done through function pointers
The check does not handle C++ destructors