aaronpuchert added a comment. In D98747#2648943 <https://reviews.llvm.org/D98747#2648943>, @aaronpuchert wrote:
> We could probably address all false negatives by introducing a `FactEntry` > for "managed locks that might be held", which we introduce on discrepancies > at join points. We assume that they're fine for the destructor, but we would > warn if there is an explicit lock/unlock. I could start working on this if > you think that's a good idea, but it would not only address false negatives > introduced in this change, but also false negatives that we've had before. Hmm, this won't work for back edges, because we can't change the lock set after the join point for them. But I believe we could warn on back edges if a "managed lock that might be held" joins with a managed lock that is held or not held right away. If there is a path from the loop entry that might acquire or release the lock, then we might run into this same path with our lock that might be held. Might not be easy to place the diagnostics correctly, but otherwise it seems consistent. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98747/new/ https://reviews.llvm.org/D98747 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits