[Lldb-commits] [lldb] Fix pointer to reference type (PR #113596)
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Thu Oct 31 06:27:39 PDT 2024
labath wrote:
Regarding the vector summary example, it looks like that there's still a lot of room for improvement there. This is what I get before this patch:
```
(lldb) v v vp vr vpr &v &vp &vr &vpr
(std::vector<int>) v = size=2 {
[0] = 0
[1] = 0
}
(std::vector<int> *) vp = 0x00007fffffffd7b0 size=2
(std::vector<int> &) vr = size=2: {
[0] = 0
[1] = 0
}
(std::vector<int> *&) vpr = size=1: {
&vpr = 0x00007fffffffd7b0 size=2
}
(std::vector<int> *) &v = 0x00007fffffffd7b0 size=2
(std::vector<int> **) &vp = 0x00007fffffffd7a0 size=1
(std::vector<int> &*) &vr = 0x00007fffffffd790 size=1
(std::vector<int> *&*) &vpr = 0x00007fffffffd788 size=1
```
And this comes after it:
```
(lldb) v v vp vr vpr &v &vp &vr &vpr
(std::vector<int>) v = size=2 {
[0] = 0
[1] = 0
}
(std::vector<int> *) vp = 0x00007fffffffd7b0 size=2
(std::vector<int> &) vr = size=2: {
[0] = 0
[1] = 0
}
(std::vector<int> *&) vpr = size=1: {
&vpr = 0x00007fffffffd7b0 size=2
}
(std::vector<int> *) &v = 0x00007fffffffd7b0 size=2
(std::vector<int> **) &vp = 0x00007fffffffd7a0 size=1
(std::vector<int> *) &&vr = 0x00007fffffffd7b0 size=2
(std::vector<int> **) &&vpr = 0x00007fffffffd7a0 size=1
```
The output for `&vr` changes (for the better, I guess), but `vpr`, `&vp` and `&vpr` are still extremely dubios, so if you want to tackle this issue seriously, then we also need to discuss what should the data formatters/summary providers do when faced with nested pointers and references.
https://github.com/llvm/llvm-project/pull/113596
More information about the lldb-commits
mailing list