NoQ added a comment.

Shared accessors look amazing.

If i understood correctly, you're splitting up the part which performs boring 
bookkeeping for the state trait from the part which models `strlen()` and other 
various functions. Such separation also looks amazing because ultimately the 
first part can be made checker-inspecific (i.e., a reusable half-baked trait 
that can be instantiated multiple times to track various things regardless of 
their meaning).

I don't think i understand having `unix.cstring.CStringChecker` as one more 
entry in `Checkers.td`. Do you expect there to be a situation when enabling 
`CStringModeling` without `CStringChecker` actually makes sense? If not, why 
not keep them agglutinated? That doesn't anyhow contradict the above purpose of 
having boring bookkeeping separate from actual API modeling.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D84316



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

Reply via email to