[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements

Kristóf Umann via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 19 12:26:20 PST 2019


Szelethus added a comment.

In D50488#1402699 <https://reviews.llvm.org/D50488#1402699>, @mgrang wrote:

> In D50488#1400823 <https://reviews.llvm.org/D50488#1400823>, @whisperity wrote:
>
> > Yeah, it seems upstream has moved away due to @Szelethus' implementation of a much more manageable "checker dependency" system. You most likely will have to rebase your patch first, then check what you missed which got added to other merged, existing checkers.
>
>
> Moreover, as I said I hit this assert only when invoking the checker via csa-testbench. Outside that it seems to work fine. For example, my unit test Analysis/ptr-sort.cpp passes.


It's because it invokes CodeChecker, which by default enables `valist.Uninitialized`, but not `ValistBase`. Do you have assert failures after my hotfix?

> Yes, I see that D55429 <https://reviews.llvm.org/D55429>, D54438 <https://reviews.llvm.org/D54438> added a new dependency field for checkers. However, I see that not all checkers need/have that field. In this case, shouldn't providing a ento::shouldRegisterPointerSortingChecker function which returns true be enough to register the checker?

It is enough, and you're very right about this not being properly documented! There is a revision to solve this problem here: D58065 <https://reviews.llvm.org/D58065>. I guess your input, as someone who didn't participate in the checker dependency related patch reviews would be invaluable, in terms of whether my description is understandable enough.


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

https://reviews.llvm.org/D50488





More information about the cfe-commits mailing list