[cfe-dev] ld linker error using clang analyzer checker
Yingtong Liu via cfe-dev
cfe-dev at lists.llvm.org
Tue Feb 6 13:30:24 PST 2018
Hi Artem,
Thank you for your explaination. It makes sense.
Best,
Yingtong
On Tue, Feb 6, 2018 at 1:03 PM, Artem Dergachev <noqnoqneo at gmail.com> wrote:
> That's right, you cannot analyze and compile in a single clang instance. I
> don't remember why it was designed this way, but i don't think anybody is
> planning to fix it.
>
> * It'd be much more scary to work on the analyzer if we had a chance to
> cause code generation failures after our work is done, or if you'd be
> unable to compile without tweaking your build system when the analyzer is
> crashing.
> * In particular, we're sometimes enjoying the ability to modify the AST
> (eg. do the "body farms" thing).
> * We have the fancy __clang_analyzer__ macro that hides code from the
> analyzer without affecting compilation.
> * Very often the project is compiled with a different compiler anyway.
> * Anyway, compilation time is usually very small compared to analysis
> time, so doing two compilations is not going to make things much slower.
>
> On 06/02/2018 9:55 AM, Yingtong Liu via cfe-dev wrote:
>
>> Thank you Aleksei, it worked to run the checkers.
>>
>> It seems like clang can't run the checker and do the compiling at the
>> same time, meaning in one cmd? Just passing the -analyze option and
>> allowing clang to compile the file will report ld error like I said before.
>> Is that ture?
>>
>> Best,
>> Yingtong
>>
>> --
>> Ph.D
>> Computer Science Department
>> University of California, Irvine
>>
>> On Tue, Feb 6, 2018 at 1:34 AM, Aleksei Sidorin <a.sidorin at samsung.com
>> <mailto:a.sidorin at samsung.com>> wrote:
>>
>> Hello,
>>
>> It looks like clang is thinking that he has to compile the file
>> because the default behaviour was not changed via cmdline options.
>> Could you try:
>>
>> clang --analyze -Xclang -analyzer-checker=checker_name test.c
>>
>> ? --analyze will tell clang that he doesn't need to produce
>> binary, only to analyze the file.
>>
>>
>> 06.02.2018 04:24, Yingtong Liu via cfe-dev пишет:
>>
>>> Hi,
>>>
>>> I am trying to use clang static checker from command line. I knew
>>> there are two ways to do that. One is using scan-build command,
>>> which works fine for me. But I need to use the checker in another
>>> way, which is from the official website, like:
>>>
>>> clang -Xclang -analyze -Xclang
>>> -analyzer-checker=checker_name test.c
>>>
>>> This reported me /usr/bin/ld: cannot find /tmp/xxx.o: File format
>>> not recognized. It seems like the xxx.o file never being
>>> generated using this command line.
>>>
>>> When I added -cc1 option, using it like this way,
>>>
>>> clang -cc1 -analyze -analyzer-checker=xxx test.c
>>>
>>> The error is gone, but I have to include all the default compiler
>>> headers manually, which I don't wanna do.
>>>
>>> My question is, what's the right way to pass the checker to clang
>>> to get the bug report and the built file at the same time?
>>>
>>> Thanks,
>>> Ying
>>>
>>>
>>> _______________________________________________
>>> 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,
>> SRR, Samsung Electronics
>>
>>
>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> 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/20180206/992774f0/attachment.html>
More information about the cfe-dev
mailing list