C++ Support
- -The Clang compiler supports almost all of C++11. -Support in the frontend for C++ language features, however, does not -automatically translate into support for those features in the static analyzer. -Language features need to be specifically modeled in the static analyzer so -their semantics can be properly analyzed. Support for analyzing C++ and -Objective-C++ files is currently fairly basic.
- -Listed here are a set of open tasks that are prerequisites for -decent analysis of C++. This list is also not complete; new tasks -will be added as deemed necessary.
- --
-
- Control-Flow Graph Enhancements:
-
-
-
- Model destructors for temporary objects -
- Model the implicit allocator call to operator new -
- - Path-Sensitive Analysis Engine (ExprEngine):
-
-
-
- Allow constructors to be inlined -
- Allow destructors to be inlined -
- Fully model new and delete -
- Track type info through casts more precisely -
- - Checkers:
-
-
-
- Check that new and delete are correctly paired -
- For more ideas, see the list of potential checkers -
-