diff options
| author | Tom Tromey <tom@tromey.com> | 2017-05-27 13:46:42 -0600 |
|---|---|---|
| committer | Tom Tromey <tom@tromey.com> | 2017-11-15 01:48:14 -0700 |
| commit | ae4cc6069626206b493caf6b1158d3d5d601bbc7 (patch) | |
| tree | c3c653d637dd0b24ec1f2395d64b252c2b6eefcd /src/rustllvm/RustWrapper.cpp | |
| parent | a5122281416e2c627c0610096ea3064a01bc2bb0 (diff) | |
| download | rust-ae4cc6069626206b493caf6b1158d3d5d601bbc7.tar.gz rust-ae4cc6069626206b493caf6b1158d3d5d601bbc7.zip | |
Emit debug info for trait object pointer
Emit better debugging information for a trait object pointer. In particular, now: * The fields are explicitly represented in the DWARF; * DWARF for the vtable itself is emitted; and * The DWARF for the vtable's type has a DW_AT_containing_type which points to the concrete type for which the vtable was emitted. This is a small DWARF extension, that allows debuggers to determine the real type of the object to which a trait object points. I'll submit the gdb patch to take advantage of this new debuginfo once this lands. The vtable type is not currently complete -- it doesn't include members for the pointers it contains. This information was not needed for this feature. This addresses part 1 of #1563.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
