Charusso marked 2 inline comments as done. Charusso added a comment. In D67079#1688648 <https://reviews.llvm.org/D67079#1688648>, @NoQ wrote:
> In D67079#1687577 <https://reviews.llvm.org/D67079#1687577>, @Charusso wrote: > > > - `CastVisitor` is the new facility which decides whether the assumptions > > are appropriate. > > - The math is still WIP. > > > You need the math to decide whether delaying the decision to a visitor is the > right approach. Yes, Soon(tm). ================ Comment at: clang/test/Analysis/cast-value-hierarchy-fp-suppression.cpp:25-27 + if (isa<B>(a)) + if (isa<C>(a)) + clang_analyzer_warnIfReached(); // no-warning ---------------- NoQ wrote: > Why is `(isa<B>(a) && isa<C>(a))` deemed possible in the first test but not > in the second test? o_o In `test_downcast()` we assume that `a` is a record type of `D` where `D` is a `B` and `D` is a `C`. However in `test_downcast_infeasible()` if `a` is not a record type of `D` is cannot be both `B` and `C` at the same time. That is the purpose of `CastVisitor`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67079/new/ https://reviews.llvm.org/D67079 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits