tidy - misc-no-recursion — Extra Clang Tools 22.0.0git documentation (original) (raw)
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