<div dir="ltr"><div>Hi Anna,</div><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div>The main in-source suppression mechanism that the clang static analyzer supports is the ‘<span style="background-color:rgb(238,238,238)">__clang_analyzer__</span>’ macro. I am not sure if you tried using it or not...  so I am curious what are the main limitations of it that you are seeing.<br></div></div></blockquote><div><br></div>The doc page you refer to says: "use this macro to selectively exclude code the analyzer examines" ... so wouldn't this potentially create false positives later in the code path? For example, by excluding code that initializes variables that is required later in the path, the analyzer may then warn about a garbage values.</div><div class="gmail_quote"><br></div><div class="gmail_quote">Additionally, our customers do not want to, and some times are not allow to, add such annotations into the code, especially when it's maintained by another team or company.<br><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div></div><div> </div><div>The static analyzer already has support for suppression hashes in tree. The CodeChecker tool (<a href="https://github.com/Ericsson/codechecker" target="_blank">https://github.com/Ericsson/<wbr>codechecker</a>) is using them to provide user workflows such as baselining and issue suppression. </div></div></blockquote><div><br></div><div>Where I like this tool, it imposes on the developer that all warnings need to viewed through that interface and it also requires the company to setup the tool in the first place.  Many developers just want to run the analyzer locally and either view the stdout or html reports.  </div><div><br></div><div>Lastly, you didn't comment on the idea of feeding a yaml/json file containing the issue hashes back into the analyzer for suppression the output.  What are your thoughts on this solution?</div><div><br></div><div>Thanks,</div><div>Phillip</div></div></div></div>