[PATCH] D85528: [analyzer] Fix cast evaluation on scoped enums in ExprEngine
Balázs Benics via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Aug 8 02:24:24 PDT 2020
steakhal added a comment.
In D85528#2203325 <https://reviews.llvm.org/D85528#2203325>, @NoQ wrote:
> Aha, ok, sounds like the right thing to do. Like, for Z3 it's actually the wrong thing to do (you'd prefer to evaluate the cast perfectly by adding `SymbolCast`) but for pure RangeConstraintManager this is the lesser of two evils.
My primary objective is to fix all the crashes related to //Range CM + Z3 refutation//.
> Because this patch changes the behavior of regular analysis (without Z3), i expect tests to reflect that.
What do you expect exactly?
`REQUIRES: z3` is necessary for the refutation.
However, adding this requirement would not mean that this test will run if you have Z3 installed though.
You should add the extra `llvm-lit` param to enable such tests.
I don't want to repeat myself too much but D83677 <https://reviews.llvm.org/D83677> describes all the details of this test infra fiasco.
I would appreciate some feedback there.
> Please add `ExprInspection`-based tests to test values produced by casts.
Ok, I fixed that - thanks.
> I don't understand why should the behavior be different for incomplete types. Can you explain?
You should be right. Fixed that.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85528/new/
https://reviews.llvm.org/D85528
More information about the cfe-commits
mailing list