xazax.hun added a comment.
This approach looks good to me. Some context: we kept the CFGs lightweight
because it looks like we did not need to do any extensions for the Clang Static
Analyzer. I'm glad the dataflow framework can also work with the current
representation. On the other hand, I think structured bindings in C++ are
really limited, e.g., we cannot nest them, and it is nowhere near what pattern
matching can do in other languages like Rust. I do remember seeing papers about
extending structured bindings in at least some dimensions like nesting. I
wonder if making the representation more explicit in the CFG as structured
bindings get more complex will simplify implementations in the future, but that
is a problem for tomorrow :)
================
Comment at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:191
+ // void VisitDeclRefExpr(const DeclRefExpr *S) {
+ // assert(S->getDecl() != nullptr);
----------------
Nit commented out code.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139544/new/
https://reviews.llvm.org/D139544
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits