<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;"><div><br><div><div>On May 31, 2013, at 3:16 AM, Orbán György <<a href="mailto:o.gyorgy@gmail.com">o.gyorgy@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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><div><div><div><div><div><br class="Apple-interchange-newline">Hi all!<br><br></div>Are there any other or newer possibilities to suppress a specific analyzer warning?<br></div>I checked the FAQ and there are two possibilities right now<br></div>- analyzer annotations<br></div>- __clang_<span class="">analzyer</span>__ macro<br><br></div>I'm interested in C++ code analysis. I found some annotations at the clang analyzer<span class="Apple-converted-space"> </span><span class="">webpage</span><span class="Apple-converted-space"> </span>but if I understand it right for C++ I can only use the attribute<span class="Apple-converted-space"> </span><span class="">nonnull</span><span class="Apple-converted-space"> </span>or<span class="Apple-converted-space"> </span><span class="">anlyzer</span>_<span class="">noreturn</span>. Are there other source code annotation I could use?<br></div><div>Is it possible to create some annotation which will suppress only warnings for a given check?<br></div></div></blockquote><div dir="auto"><br></div><div dir="auto">Currently, there is no such annotation. I'd say it's more interesting to allow the user to specify that a given warning is a false positive and ensure that it's not reported when the project is analyzed in the future. This is something that should be implemented outside of the analyzer itself as part of a continuous integration infrastructure that runs the analyzer. In such a setting the analyzer would need to somehow issue identifiers for bugs, which would persist as the codebase evolves. (CmpRuns.py script is a first step in that direction.)</div><div dir="auto"><br></div><div dir="auto">Is there a specific checker you are having problems with?</div><div dir="auto"><br></div><blockquote type="cite"><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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>Using the scan-build which checkers are enabled by default?<br></div></div></blockquote><div><br></div>You can disable the specific checkers using <span style="font-family: Menlo; font-size: 11px;"> </span><span style="font-family: Menlo; font-size: 11px;">-disable-checker [checker name]</span></div><div><font face="Menlo" size="3"><br></font><blockquote type="cite"><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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><div><br></div><div>My last question is in connection with the path sensitive analysis. Could you give me some details how the exploded graph exploration is made or where can i find some information about it? The traversal is made parallel for each path?<br><br></div></div></div></blockquote><div><br></div><div>I am not sure if you've read the Developer Manual and watched the talk presented at the LLVMDev meeting (<a href="http://clang-analyzer.llvm.org/checker_dev_manual.html">http://clang-analyzer.llvm.org/checker_dev_manual.html</a>). These do not go into a lot of detail about the algorithm, but are worth reading. Other than that, your best bets are the code (ExplodedGraph.cpp, CoreEngine,cpp, ExprEngine.cpp) and archives of this mailing list. We also have a couple of specific documents in the docs subfolder of clang.</div><div><br></div><div><br></div><div><br></div><blockquote type="cite"><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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><div>Thanks in advance!<br><br></div><div>Best regards,<br></div><div>George<br></div><div><br> <br> </div></div></div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline !important;">_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline !important;">cfe-dev mailing list</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;"><a href="mailto:cfe-dev@cs.uiuc.edu" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;">cfe-dev@cs.uiuc.edu</a><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;"><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a></blockquote></div><br></div></body></html>