================ @@ -36,18 +36,19 @@ class FuncUnwinders { ~FuncUnwinders(); - lldb::UnwindPlanSP GetUnwindPlanAtCallSite(Target &target, Thread &thread); + std::shared_ptr<const UnwindPlan> GetUnwindPlanAtCallSite(Target &target, ---------------- labath wrote:
Currently we need them, because the unwind plans are (sometimes) stored in a shared pointer while they are being constructed. That could be avoided because we don't really need the shared ownership at that point (they could be a unique_ptr or a value). However, I'm not particularly thrilled with the idea of repurposing UnwindPlanSP for this, as I think that would be surprising -- there's nothing in that name that indicates this is a const pointer, and I think it's important to see that. One idea I have had that could solve this (but have never found the time to propose) is to replace the individual FoobarSP typedefs with a `SP = std::shared_ptr<T>` template alias. That would let us write `SP<const Foobar>` in exactly the places which need it; and it might also help with the hypothetical migration to the llvm naming convention (frees up `FoobarSP` as a member name) https://github.com/llvm/llvm-project/pull/133247 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits