NoQ added a comment.

> Actually many cases don't need to know an exact original type.

In all cases we're supposed to have an original type, whether we need it or 
not. Simply because we're simulating a typed language. If we don't have it it's 
a bug.

> Some cases can extract the type from `SVal`

Which is generally impossible because integral casts aren't modeled correctly. 
Which, again, is a bug. I don't know whether we'll have a need to pass the type 
separately when all other parts of the static analyzer become type-correct; I 
suspect that we won't need it. But one way or another, my point is, one or more 
of the following is true: "we have the ability to provide the type in all 
cases", "we don't need to provide the type in any of the cases". None of these 
ideal situations leave room for an API that receives the type //optionally//. 
For this reason I suggest to either always have the caller supply the original 
type (even if means extra work on the caller side) or never have it supply the 
original type.


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

https://reviews.llvm.org/D96090

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

Reply via email to