NoQ added inline comments.

================
Comment at: clang/test/Analysis/cast-value-state-dump.cpp:30
+  if (dyn_cast_or_null<Triangle>(C)) {
+    // expected-note@-1 {{Assuming dynamic cast from 'Circle' to 'Triangle' 
fails}}
+    // expected-note@-2 {{Taking false branch}}
----------------
Charusso wrote:
> NoQ wrote:
> > We're not assuming it, right? We already know it's gonna fail because we 
> > already know that it's a circle.
> We have no knowledge what is what. At the top we see that: `Shape -> Circle`, 
> and then `Triangle -> Circle` is something new, so we have to assume that. It 
> is an implementation detail we are allowing only one cast to be succeed. From 
> the user point of view it is an assumption as the current state of the 
> checker could not provide more/better information. It is the same logic from 
> the `ConditionBRVisitor`.
Yeah, but it's not the observable behavior we'll be trying to preserve, so i 
suggest a FIXME.


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

https://reviews.llvm.org/D66325



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to