Skip to content

Commit 28a8301

Browse files
committed
Fix debuginfo providers/tests
1 parent da15248 commit 28a8301

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

src/etc/lldb_providers.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -389,11 +389,11 @@ def get_child_at_index(self, index):
389389
def update(self):
390390
# type: () -> None
391391
self.length = self.valobj.GetChildMemberWithName("len").GetValueAsUnsigned()
392-
self.buf = self.valobj.GetChildMemberWithName("buf")
392+
self.buf = self.valobj.GetChildMemberWithName("buf").GetChildMemberWithName("inner")
393393

394394
self.data_ptr = unwrap_unique_or_non_null(self.buf.GetChildMemberWithName("ptr"))
395395

396-
self.element_type = self.data_ptr.GetType().GetPointeeType()
396+
self.element_type = self.valobj.GetType().GetTemplateArgumentType(0)
397397
self.element_type_size = self.element_type.GetByteSize()
398398

399399
def has_children(self):
@@ -474,15 +474,15 @@ def update(self):
474474
# type: () -> None
475475
self.head = self.valobj.GetChildMemberWithName("head").GetValueAsUnsigned()
476476
self.size = self.valobj.GetChildMemberWithName("len").GetValueAsUnsigned()
477-
self.buf = self.valobj.GetChildMemberWithName("buf")
477+
self.buf = self.valobj.GetChildMemberWithName("buf").GetChildMemberWithName("inner")
478478
cap = self.buf.GetChildMemberWithName("cap")
479479
if cap.GetType().num_fields == 1:
480480
cap = cap.GetChildAtIndex(0)
481481
self.cap = cap.GetValueAsUnsigned()
482482

483483
self.data_ptr = unwrap_unique_or_non_null(self.buf.GetChildMemberWithName("ptr"))
484484

485-
self.element_type = self.data_ptr.GetType().GetPointeeType()
485+
self.element_type = self.valobj.GetType().GetTemplateArgumentType(0)
486486
self.element_type_size = self.element_type.GetByteSize()
487487

488488
def has_children(self):

src/etc/natvis/liballoc.natvis

+9-9
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,26 @@
44
<DisplayString>{{ len={len} }}</DisplayString>
55
<Expand>
66
<Item Name="[len]" ExcludeView="simple">len</Item>
7-
<Item Name="[capacity]" ExcludeView="simple">buf.cap.__0</Item>
7+
<Item Name="[capacity]" ExcludeView="simple">buf.inner.cap.__0</Item>
88
<ArrayItems>
99
<Size>len</Size>
10-
<ValuePointer>buf.ptr.pointer.pointer</ValuePointer>
10+
<ValuePointer>($T1*)buf.inner.ptr.pointer.pointer</ValuePointer>
1111
</ArrayItems>
1212
</Expand>
1313
</Type>
1414
<Type Name="alloc::collections::vec_deque::VecDeque&lt;*&gt;">
1515
<DisplayString>{{ len={len} }}</DisplayString>
1616
<Expand>
1717
<Item Name="[len]" ExcludeView="simple">len</Item>
18-
<Item Name="[capacity]" ExcludeView="simple">buf.cap.__0</Item>
18+
<Item Name="[capacity]" ExcludeView="simple">buf.inner.cap.__0</Item>
1919
<CustomListItems>
2020
<Variable Name="i" InitialValue="0" />
2121
<Size>len</Size>
2222
<Loop>
2323
<If Condition="i == len">
2424
<Break/>
2525
</If>
26-
<Item>buf.ptr.pointer.pointer[(i + head) % buf.cap.__0]</Item>
26+
<Item>(($T1*)buf.inner.ptr.pointer.pointer)[(i + head) % buf.inner.cap.__0]</Item>
2727
<Exec>i = i + 1</Exec>
2828
</Loop>
2929
</CustomListItems>
@@ -41,17 +41,17 @@
4141
</Expand>
4242
</Type>
4343
<Type Name="alloc::string::String">
44-
<DisplayString>{(char*)vec.buf.ptr.pointer.pointer,[vec.len]s8}</DisplayString>
45-
<StringView>(char*)vec.buf.ptr.pointer.pointer,[vec.len]s8</StringView>
44+
<DisplayString>{(char*)vec.buf.inner.ptr.pointer.pointer,[vec.len]s8}</DisplayString>
45+
<StringView>(char*)vec.buf.inner.ptr.pointer.pointer,[vec.len]s8</StringView>
4646
<Expand>
4747
<Item Name="[len]" ExcludeView="simple">vec.len</Item>
48-
<Item Name="[capacity]" ExcludeView="simple">vec.buf.cap.__0</Item>
48+
<Item Name="[capacity]" ExcludeView="simple">vec.buf.inner.cap.__0</Item>
4949
<Synthetic Name="[chars]">
50-
<DisplayString>{(char*)vec.buf.ptr.pointer.pointer,[vec.len]s8}</DisplayString>
50+
<DisplayString>{(char*)vec.buf.inner.ptr.pointer.pointer,[vec.len]s8}</DisplayString>
5151
<Expand>
5252
<ArrayItems>
5353
<Size>vec.len</Size>
54-
<ValuePointer>(char*)vec.buf.ptr.pointer.pointer</ValuePointer>
54+
<ValuePointer>(char*)vec.buf.inner.ptr.pointer.pointer</ValuePointer>
5555
</ArrayItems>
5656
</Expand>
5757
</Synthetic>

src/etc/natvis/libstd.natvis

+3-3
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,14 @@
104104
</Type>
105105

106106
<Type Name="std::ffi::os_str::OsString">
107-
<DisplayString>{(char*)inner.inner.bytes.buf.ptr.pointer.pointer,[inner.inner.bytes.len]}</DisplayString>
107+
<DisplayString>{(char*)inner.inner.bytes.buf.inner.ptr.pointer.pointer,[inner.inner.bytes.len]}</DisplayString>
108108
<Expand>
109109
<Synthetic Name="[chars]">
110-
<DisplayString>{(char*)inner.inner.bytes.buf.ptr.pointer.pointer,[inner.inner.bytes.len]}</DisplayString>
110+
<DisplayString>{(char*)inner.inner.bytes.buf.inner.ptr.pointer.pointer,[inner.inner.bytes.len]}</DisplayString>
111111
<Expand>
112112
<ArrayItems>
113113
<Size>inner.inner.bytes.len</Size>
114-
<ValuePointer>(char*)inner.inner.bytes.buf.ptr.pointer.pointer</ValuePointer>
114+
<ValuePointer>(char*)inner.inner.bytes.buf.inner.ptr.pointer.pointer</ValuePointer>
115115
</ArrayItems>
116116
</Expand>
117117
</Synthetic>

tests/debuginfo/pretty-std.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@
8181
// cdb-check:vec,d [...] : { len=4 } [Type: [...]::Vec<u64,alloc::alloc::Global>]
8282
// cdb-check: [len] : 4 [Type: [...]]
8383
// cdb-check: [capacity] : [...] [Type: [...]]
84-
// cdb-check: [0] : 4 [Type: unsigned __int64]
85-
// cdb-check: [1] : 5 [Type: unsigned __int64]
86-
// cdb-check: [2] : 6 [Type: unsigned __int64]
87-
// cdb-check: [3] : 7 [Type: unsigned __int64]
84+
// cdb-check: [0] : 4 [Type: u64]
85+
// cdb-check: [1] : 5 [Type: u64]
86+
// cdb-check: [2] : 6 [Type: u64]
87+
// cdb-check: [3] : 7 [Type: u64]
8888

8989
// cdb-command: dx str_slice
9090
// cdb-check:str_slice : "IAMA string slice!" [Type: ref$<str$>]
@@ -141,8 +141,8 @@
141141
// cdb-check: [<Raw View>] [Type: alloc::collections::vec_deque::VecDeque<i32,alloc::alloc::Global>]
142142
// cdb-check: [len] : 0x2 [Type: unsigned [...]]
143143
// cdb-check: [capacity] : 0x8 [Type: unsigned [...]]
144-
// cdb-check: [0x0] : 90 [Type: int]
145-
// cdb-check: [0x1] : 20 [Type: int]
144+
// cdb-check: [0x0] : 90 [Type: i32]
145+
// cdb-check: [0x1] : 20 [Type: i32]
146146

147147
#![allow(unused_variables)]
148148
use std::collections::{LinkedList, VecDeque};

0 commit comments

Comments
 (0)