[PATCH] D151225: [clang][analyzer] Merge apiModeling.StdCLibraryFunctions and StdCLibraryFunctionArgs checkers into one.

Kristóf Umann via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 26 02:37:26 PDT 2023


Szelethus accepted this revision.
Szelethus added a comment.
This revision is now accepted and ready to land.

Ugh, yeah, so it has come to this. I championed my idea of granulalizing checkers into modeling and reporting components since what... 2018? I think the goal is still something to shoot for, but its time to admit that we the underlaying infrastructure needs to encourage that a lot more (and there is already so much dept in the form of these giant checkers).

I like the idea that the modeling portion and the reporting portion are in different checkers, but that is hard to achieve, when fatal errors by the sheer fact that they create sinkholes makes this practically impossible (we'd have to rewrite almost EVERY checker with that in mind, and also in way that it wont just require a branch). Even then, I'm not sure we would want that -- our checkers are not perfect, and yes, we sometimes do want to explicitly disable a non-alpha checker and everything that they do, including modeing because they are not working well on a project.

For how much I took a dump on checker silencing back in the day, I'm coming to terms with the fact that it is likely to be the most sustainable approach moving forward. Or, I don't know, the sheer size of these checkers really scream for some splitting up...

In any case, LGTM. I'm sure there are other ways around this, like creating an inner checker callback system inside this checker, but that sounds ridiculus, and its not like we can't do it after the fact.

Please grep the codebase for `apiModeling.StdCLibraryFunctionsChecker` to find other references to the now removed checker. Do the docs need any adjustment?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D151225



More information about the cfe-commits mailing list