[cfe-dev] status of C++ analyzer support, list of what is still needed?

Jordan Rose jordan_rose at apple.com
Wed Jan 2 11:01:52 PST 2013


Hi, Tim. The 3.2 release of LLVM brought a wealth of C++ understanding to the analyzer, so while support is still incomplete, it should now already be a useful tool for C++. It just might not find as much as it could in theory.

I think your idea of a status page is a good one, but I am a bit hesitant about committing to it, mainly because saying the analyzer "supports" something is a bit nebulous. There are many constructs we "support" but do not model very precisely. That said, there are known deficiencies which we have definite plans to improve, the most immediate one being the inlining of constructors and destructors for local variables. We have only so much manpower, though.

I'm glad you saw our talk already. Unfortunately, what we consider "C++ support" is work that happens in the analyzer core, rather than in checkers. Checkers affect how the analyzer processes a statement, but it's the core that actually determines what statements to process (e.g. inlining, taking branches, etc). As John pointed out, however, there are plenty of C++-related checks that need to be implemented before the analyzer can be considered a first-class C++ analysis tool—we don't even pair "new" and "delete" right now.

So I'd say use the analyzer we have today, and update every so often to get our latest improvements.

Does that help?
Jordan


On Jan 1, 2013, at 12:32 , Tim Stowell <stowellt at gmail.com> wrote:

> Hello all,
> 
> I realize C++ support isn't yet complete for the static analyzer, but is there a place where I can go to see the status, and what needs to be finished?
> 
> Also, I'm assuming that the C++ functionality is based on "checkers", is that the case? I ask because I was looking over the notes from the 2012 llvm meeting specifically the talk titled "Building a Checker in 24 hours". Thanks for any pointers, I'm new to clang but would like to use it to analyze C++ code.
> 
> -Tim
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130102/efa3e197/attachment.html>


More information about the cfe-dev mailing list