misc-no-recursion.rst
963 Bytes
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