steakhal wrote: @aeft I have a couple more patches downstream but I don't think we will overlap much. My patches are about: - Adding support for propagating [ownership_takes](https://clang.llvm.org/docs/AttributeReference.html#ownership-holds-ownership-returns-ownership-takes-clang-static-analyzer) attributes - aka. functions that potentially release some of its parameters and treating it as a call that invalidates. - Flow pointee loan for lifetimebound reference-to-pointer params. (This one is probably the most controversial. It makes `std::exchange` work for assigning `nullptr` to pointer member fields - note that std::exchange takes its operand as `T&`, and if `T=int*` then the propagation currently breaks down) - Fix the `struct_pointer_field` case in `clang/test/Sema/LifetimeSafety/safety-c.c`. In plain words, Track origins stored in struct pointer fields. - Fix assertion failure inferring lifetimebound 'this' for deduced return types.
I think these are the patches I want to upstream in the close future. https://github.com/llvm/llvm-project/pull/194797 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
