<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">The static analyzer is different from AST matchers as its main focus is on path sensitive program analyzes (though it does have AST-based rules as well). See Building a Checker in 24 Hours talk from <a href="http://llvm.org/devmtg/2012-11/">http://llvm.org/devmtg/2012-11/</a>.<div><br></div><div>One limitation is that it does not have cross-translation unit support. Also, due to its nature, it is generally slower than AST matching.</div><div><div><br></div><div>The analyzer does support C++ and there has been a lot of improvements over the last year. However, we have some limitations modeling symbolic execution of certain C++ constructs. Note that these limitations do not effect AST based checkers. </div><div><br></div><div>Cheers,</div><div>Anna.</div><div><br><div><div>On Apr 6, 2013, at 11:12 AM, Gábor Kozár <<a href="mailto:kozargabor@gmail.com">kozargabor@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div dir="ltr"><div><div><div>Hi,<br><br></div>We're working on a static analysis tool that would enforce certain design (coding) rules in some private C++ projects. So far we've been working on a custom tool, using clang libtooling, to implement some fairly trivial checks using AST matchers - however, we realized that building upon the clang static analyzer would be a much better choice, especially when implementing more complicated checks.<br><br></div>I have had a quick look at the static analyzer source code, and it appears to me that it's basically an ASTFrontendAction (lib/StaticAnalyzer/FrontendActions.h), which to me indicates that this is "just another" tool built upon clang libtooling. Is this correct?<br></div><div>It would be extremely convenient for us if it were so, because we could extend it seamlessly with our custom checkers into a custom analyzer tool.<br><br></div><div>I also read on the website of the static analyzer that C++ support is not complete. However, I'm not sure how up-to-date the information on that website is kept, so I'll just ask it here: what is the state of the C++ (and C++11) support?<br><br></div><div>Thanks!<br><br></div><div>(Btw, we are very impressed by clang, and its static analyzer. Thank you for all your hard work! You guys are amazing!)<br><br></div><div>Gabor<br></div></div>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a></div></blockquote></div><br></div></div></body></html>