about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-05-27 13:46:42 -0600
committerTom Tromey <tom@tromey.com>2017-11-15 01:48:14 -0700
commitae4cc6069626206b493caf6b1158d3d5d601bbc7 (patch)
treec3c653d637dd0b24ec1f2395d64b252c2b6eefcd /src/rustllvm/RustWrapper.cpp
parenta5122281416e2c627c0610096ea3064a01bc2bb0 (diff)
downloadrust-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