NoQ added inline comments.
================ Comment at: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp:406 +const ExplodedNode *StreamChecker::getAcquisitionSite(const ExplodedNode *N, + SymbolRef StreamSym, ---------------- NoQ wrote: > Ok, so this is a tiny auxiliary visitor. > > I wish we could set uniqueing location post-factum from within the note tag. > Unfortunately we can't because notes are generated after uniqueing :( > > I'd like you to experiment with tracking this information as part of the > state instead so that you didn't need to perform an additional scan. I'd be > happy if it helps you avoid performing this additional pass. > > I.e., when you're opening the file, add all the information you need for > building your uniqueing location into the stream state (not the node though, > just the program point or something like that). Then retrieve it in O(1) when > you're emitting the report. Another thing we could try is to implement such post-processing pass globally for all checkers. I.e., instead of an optional uniqueing location accept an optional lambda that looks at a node and answers whether this node should be used as a uniqueing location. Then before report deduplication scan each report that supplies such lambda and update its uniqueing location. That'll probably require some work on BugReporter but that sounds like a nice way to avoid all the boilerplate. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81407/new/ https://reviews.llvm.org/D81407 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits