[cfe-dev] Learning how to use and deploy 'scan-build'
Anna Zaks via cfe-dev
cfe-dev at lists.llvm.org
Fri Nov 11 15:39:29 PST 2016
> On Nov 11, 2016, at 6:26 AM, Aleksei Sidorin via cfe-dev <cfe-dev at lists.llvm.org> wrote:
>
> Hello Martin!
>
> 11.11.2016 16:48, Martin J. O'Riordan via cfe-dev пишет:
>> I am working on adding ‘scan-build’ to the set of tools we include with our release of ‘clang’, and trying to determine the minimal set of components needed to be able to successfully use ‘scan-build’. The documentation for this is fairly thin, so there are many things I am having to learn.
>>
>> Currently we just provide the compiler itself, along with the headers and libraries for our SHAVE target. I would like to add a lot of the additional tools and utilities that CLang/LLVM provide with future versions, ‘scan-build’ is one of these, and ‘clang-tidy’, etc., but not a complete set.
>>
>> In addition to the ‘scan-build’ Perl script itself, I also need the ‘ccc-analyzer’ and ‘c++-analyzer’ Perl scripts, and this appears to run without error; but I would like to know are their other components that I need to ensure that it is fully functional?
> As I remember, Perl scan-build doesn't have any additional dependencies.
>>
>> I would like to know what is the “core set” of analysers? I listed the full set of analysers in ‘clang’ v3.9.0 and some of these names are prefixed with ‘core.’ so I presume these are the ones that comprise the core set?
> The "core" set is responsible for basic modelling of some functions in path-sensitive mode, they are not the analyzer core itself. Shortly, analyzer has two kinds of checkers - AST/CFG based (fast) and path-sensitive (slow but more powerful). If you need any path-sensitive checkers, you should also enable "core" checkers for more precise modelling.
>
> // TODO: enable "core" automatically in such cases?
I would recommend to start with the default set of checkers and disable the ones you do not find useful for your codebase (if any).
>> When enabling others I presume I have to add a comma-separated list to the ‘-enable-checker’ option, for example ‘debug.Stats,unix.Malloc’. The names in the list of checks are formed with separating dot characters, does selecting something like ‘security’ enable all the checkers in the ‘security.*’ group, or do I have to enable them one at a time?
> To enable a full package, you should just point it. Example: "-enable-checker core,security"
>>
>> Sorry if this is all answered in some part of the documentation I haven’t found, and please point me at it.
> You can find some additional information on http://clang-analyzer.llvm.org <http://clang-analyzer.llvm.org/>
>>
>> Thanks,
>>
>> MartinO
>>
>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
>
>
> --
> Best regards,
> Aleksei Sidorin
> Software Engineer,
> IMSWL-IMCG, SRR, Samsung Electronics
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20161111/b7bde91e/attachment.html>
More information about the cfe-dev
mailing list