aaron.ballman added a comment.

In D83717#2364187 <https://reviews.llvm.org/D83717#2364187>, @gamesh411 wrote:

> In D83717#2279263 <https://reviews.llvm.org/D83717#2279263>, @aaron.ballman 
> wrote:
>
>> One of the concerns I have with this not being a cfg-only check is that most 
>> of the bad situations are not going to be caught by the clang-tidy version 
>> of the check.
>
> ...
>
>> Have you run this check over any large code bases to see if it currently 
>> catches any true positive diagnostics?
>
> I have tried llvm, tmux, curl and tried codesearch.com to look for other 
> sources containing `atexit`, but no clang-tidy results were found for this 
> check (this is partly because it is hard to manually make the project results 
> buildable). So it is hard to see whether this flow-sensitive approach would 
> result in many false positives.

Just to make sure we're on the same page -- the current approach is not 
flow-sensitive and so my concern is that it won't report any true positives 
(not that it will be prone to false positives).

Btw, one trick I've used to make random projects easier to work with in 
clang-tidy is to either find ones that support CMake already or if they use 
make, then run the command through `bear` (https://github.com/rizsotto/Bear) -- 
this way I can get a compile_commands.json file that I can use to try to get 
clang-tidy diagnostics out of the project.

In any of the projects that you found which are using `atexit()`, did you try 
to inspect the exit handler code paths to see if you could manually identify 
any problem code (like `assert()` calls)? I realize that's a lot of effort to 
go through (especially if you have to consider C++ constructs like constructors 
or overloaded operators which may be hard to spot by code inspection), but if 
you find the check doesn't trigger on code bases but there are issues when 
manually inspecting the code, that strongly suggests this should be a 
flow-sensitive check that probably lives in the static analyzer rather than 
clang-tidy.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D83717/new/

https://reviews.llvm.org/D83717

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to