[cfe-dev] Clang Static Analyzer multipass checker
Kristóf Umann via cfe-dev
cfe-dev at lists.llvm.org
Mon Jun 10 10:02:03 PDT 2019
On Mon, 10 Jun 2019 at 19:01, Kristóf Umann <dkszelethus at gmail.com> wrote:
> Hi!
>
> Are you using the latest 'n' greatest clang? If so, you may add options to
> your checker by first declaring it in Checkers.td, here's an example:
>
> def MyExample : Checker<"MyChecker">,
> HelpText<"blahblah">,
> CheckerOptions<[
> CmdLineOption<Boolean, // type of the option: String, Boolean, Integer
> "Option1", // name
> "example description 1", // description
> "true", // default value
> Released, // development stage: InAlpha, Released
> Hide>, // whether it should be hidden, e.g. it's an
> implementation detail
> CmdLineOption<Integer,
> "Option2",
> "example description 2",
> 5475764,
> InAlpha>, // note that this option isn't hidden
> ]>,
> Documentation<HasDocumentation>;
>
> Then, you may invoke the analyzer with the new options as you normally
> would:
>
> clang -cc1 -analyze -analyzer-checker=MyExample -analyzer-config
> MyExample:Option1=false
> clang --analyze -Xclang -analyzer-checker=MyExample -Xclang
> -analyzer-config -Xclang MyExample:Option1=false
>
Meant to write MyChecker instead of MyExample, whoops.
>
>
> Please follow up if you're still having trouble!
>
> On Mon, 10 Jun 2019 at 17:30, Алексеев Кирилл via cfe-dev <
> cfe-dev at lists.llvm.org> wrote:
>
>>
>> Hello, I'm beginner in CSA programming. I have read clang SA a checker
>> developer manual
>> and have some questions.
>> How can I pass command line options to CSA checker? Does -Xanalyzer
>> option can help me?
>> May be I need to see AnalyzerOptions.cpp, but can't understand how to
>> catch options from my checker.
>>
>> Also I want to know is it possible to realize multi-pass analyzer with
>> parallel or sequential running of one or multiply checker with data
>> transfer between passes.
>> I need to run first checker that taint some input, observes taint values
>> and find some AST expressions (or with path sensible analysis).
>> After this checker ends up I need to start the second checker, that uses
>> search results of 1'st in analysis from begining of ExplodedGraph.
>>
>
> Are you sure that you need two sequential passes? As far as I know, we
> have nothing like that currently.
>
>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> https://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/20190610/791217fa/attachment.html>
More information about the cfe-dev
mailing list