NoQ added a comment. Yes, I think this totally works now!
Can you also add some tests? ================ Comment at: clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp:85 +// Checks if RD has name in Names and is in std namespace +bool hasStdClassWithName(const CXXRecordDecl *RD, + const SmallVectorImpl<StringRef> &Names) { ---------------- This should be `static` right? ================ Comment at: clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp:98 + // Define the inter-checker API. namespace clang { ---------------- I think the new functions that you've added aren't yet used in an inter-checker manner. Maybe keep them as `static` too until we have an actual use case? ================ Comment at: clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp:221-222 + const MemRegion *StreamThisRegion = StreamVal.getAsRegion(); + assert(StreamThisRegion && + "expected to retrieve this pointer of basic_ostream"); + State = ---------------- Might also be an `UnknownVal` which doesn't have a region. It's hard to test because there doesn't exist a test in which `UnknownVal` appears for a good reason (they only appear for bad reasons) but I'd still rather bail out. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105421/new/ https://reviews.llvm.org/D105421 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits