<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><blockquote><div>However, there will be no inheritance (i.e. the setting 'unix:Optimistic' is entirely distinct from the setting ‘unix.Malloc:Optimistic’).<br></div>
</blockquote><div> </div>
<div>I think inheritance like that could be useful in some situations. I would expect such options to be inherited, i.e. if I set 'unix:Optimistic', then I expect this to be visible everywhere in the 'unix' package. Why are you proposing to disallow this?<br></div>
<div> </div>
<div id="sig19426269"><div class="signature">---<br></div>
<div class="signature">Best regards,<br></div>
<div class="signature"> </div>
<div class="signature">Gábor 'ShdNx' Kozár<br></div>
<div class="signature"><a href="http://gaborkozar.me">http://gaborkozar.me</a><br></div>
<div class="signature"> </div>
</div>
<div> </div>
<div> </div>
<div>On Sat, Oct 11, 2014, at 01:17, Anna Zaks wrote:<br></div>
<blockquote type="cite"><div>Background & Problem:<br></div>
<div> </div>
<div>Clang has support for static analyzer options though "-analyzer-config”<br></div>
<div>front-end option, which is followed by the option name and value:<br></div>
<div>-analyzer-config <Option Name>=<Value><br></div>
<div>This option is also available through scan-build.<br></div>
<div> </div>
<div>Currently, there is no way to pass command line options to specific<br></div>
<div>checkers. We work around it by creating new checker kinds (for example,<br></div>
<div>MallocPessimistic, MallocOptimistic).<br></div>
<div> </div>
<div>Proposed Solution:<br></div>
<div> </div>
<div>The proposal (partially authored and implemented by Aleksei Sidorin<br></div>
<div><a href="http://reviews.llvm.org/D3967">http://reviews.llvm.org/D3967</a>) is to extend "-analyzer-config" to support<br></div>
<div>checker-specific options as following:<br></div>
<div>-analyzer-config <Full Checker Name / Package Name>:<Option<br></div>
<div>Name>=<Value><br></div>
<div> </div>
<div>To avoid ambiguities with regular options, we should enforce the<br></div>
<div>following:<br></div>
<div>1) <Option Name> should be an identifier<br></div>
<div>2) Checker names should be identifiers.<br></div>
<div>3) Package names should be identifiers joined with '.’.<br></div>
<div>4) <Full Checker Name> has the same form as package names.<br></div>
<div> </div>
<div>Specifying options on a package will be allowed. However, there will be<br></div>
<div>no inheritance (i.e. the setting 'unix:Optimistic' is entirely distinct<br></div>
<div>from the setting ‘unix.Malloc:Optimistic’). Each checker will be able to<br></div>
<div>query options of its package when needed. For this, we propose changing<br></div>
<div>the getOption API to work with package and checker names as well as<br></div>
<div>CheckerBase.<br></div>
<div> </div>
<div>Comments and suggestions are welcome!<br></div>
<div>Anna.<br></div>
<div><u>_______________________________________________</u><br></div>
<div>cfe-dev mailing list<br></div>
<div><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br></div>
<div><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br></div>
</blockquote><div> </div>
</body>
</html>