[PATCH] D124674: [analyzer] Indicate if a parent state is infeasible

Gabor Marton via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 6 03:58:22 PDT 2022


martong marked an inline comment as done.
martong added a comment.

In D124674#3491710 <https://reviews.llvm.org/D124674#3491710>, @NoQ wrote:

> Yes, we've discussed this before, and I'm very much in favor of this change. This is assertion removal, and the assertion has been really useful back in the day, but the assertion doesn't seem to be realistic to maintain with all the new logic in the constraint solver coming in in recent years.

Thanks for your review and support!



================
Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h:88
   GenericDataMap   GDM;      // Custom data stored by a client of this class.
+  bool Infeasible = false;
   unsigned refCount;
----------------
NoQ wrote:
> The reader deserves a massive amount of explanation here. Normally infeasible states are just null states. We need to explain how these new infeasible states are different.
> 
> Maybe a longer name? `IsPostOverconstrained` or something like that.
Okay, I've added an essay that explains these differences.

> Maybe a longer name? IsPostOverconstrained or something like that.
Yeah, I agree a longer name could reflect that this is something that requires special handling. I chose `PosteriorlyOverconstrained`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D124674



More information about the cfe-commits mailing list