================
@@ -1085,6 +1084,17 @@ std::string
VariableDescription::GetResult(llvm::StringRef context) {
return description.trim().str();
}
+std::optional<lldb::addr_t> GetMemoryReference(lldb::SBValue v) {
+ if (!v.GetType().IsPointerType() && !v.GetType().IsArrayType())
+ return std::nullopt;
+
----------------
vogelsgesang wrote:
The proposed code would led to `my_value` and `my_ptr` having the same
`memoryReference` in the following code snippet:
```
int my_value;
int* my_ptr = &my_value;
```
Also, when entering `my_value` and `&my_value` into the debug console, I would
get the same memory references back. As a user, I would find this very
confusing.
As such, I do prefer the current semantics, where `my_value` does not have a
memory reference. If users want to get to that memory location, they can use
`&my_value`
(Also, I noticed that the current code did not work for arrays. Hence, I
removed the `IsArrayType`)
https://github.com/llvm/llvm-project/pull/104317
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits