<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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 <a href="http://clang-analyzer.llvm.org/potential_checkers.html">C++-related checks</a> 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.</div><div><br></div><div>So I'd say <a href="http://clang-analyzer.llvm.org/index.html">use the analyzer we have today</a>, and update every so often to get our latest improvements.</div><div><br></div><div>Does that help?</div><div>Jordan</div><div><br></div><br><div><div>On Jan 1, 2013, at 12:32 , Tim Stowell <<a href="mailto:stowellt@gmail.com">stowellt@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hello all,<div><br></div><div>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?</div><div><br></div><div>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 "<span style="font-family:'Trebuchet MS',Arial,Helvetica,sans-serif">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.</span></div>
<div><span style="font-family:'Trebuchet MS',Arial,Helvetica,sans-serif"><br></span></div><div><span style="font-family:'Trebuchet MS',Arial,Helvetica,sans-serif">-Tim</span></div>
_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev<br></blockquote></div><br></body></html>