jingham added a comment. In D98370#2704597 <https://reviews.llvm.org/D98370#2704597>, @werat wrote:
> In D98370#2686515 <https://reviews.llvm.org/D98370#2686515>, @jingham wrote: > >> If persisting already persistent variables is indeed the only failure case, >> then I wonder if it wouldn't be more straightforward to just see if the >> ValueObject is already a persistent variable and have Persist just return >> the incoming variable. > > Persisting already persistent variables is not the only valid use case, one > might also want to persist variables created via > `SBTarget::CreateValueFromData()`. Sure. But but when I was poking around at it a little bit, it seems like the other use cases already work, and the only one that was failing was the case where you call persist on a persistent variable. If that is really true, then maybe we should fix the failing case directly. > I guess it is currently not clear from the API, but I would expect > `SBValue::Persist()` to produces a new value every time: > > auto v1 = value.Persist(); > auto v2 = value.Persist(); > > assert(v1.GetName() != v1.GetName()) // modulo comparing char*... Not sure why? The API is a request: "I made a variable somehow, and I would like you to make it persist so I can use its value later on even if the underlying data has changed." Why do you care whether you get a copy of an already persistent or just a shared value? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98370/new/ https://reviews.llvm.org/D98370 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits