diff options
author | Reid Kleckner <rnk@google.com> | 2017-10-24 17:02:40 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-10-24 17:02:40 +0000 |
commit | 8aa32ffbad5e06fc37596285a821d69c321de5a8 (patch) | |
tree | bd499cb100fa4d230cde39f132c131ad6518ecf7 /llvm/lib/DebugInfo | |
parent | e7f1734f1aa50dd888f563f84b1265c14a896949 (diff) | |
download | bcm5719-llvm-8aa32ffbad5e06fc37596285a821d69c321de5a8.tar.gz bcm5719-llvm-8aa32ffbad5e06fc37596285a821d69c321de5a8.zip |
[codeview] Fix handling of S_HEAPALLOCSITE
The type index is from the TPI stream, not the IPI stream. Fix the
dumper, fix type index discovery, and add a test in LLD.
Also improve the log message we emit when we fail to rewrite type
indices in LLD. That's how I found this bug.
llvm-svn: 316461
Diffstat (limited to 'llvm/lib/DebugInfo')
-rw-r--r-- | llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp b/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp index 104e8f78589..c23fadc2304 100644 --- a/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp +++ b/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp @@ -413,8 +413,7 @@ static bool discoverTypeIndices(ArrayRef<uint8_t> Content, SymbolKind Kind, Refs.push_back({TiRefKind::IndexRef, 8, 1}); // ID of inlinee break; case SymbolKind::S_HEAPALLOCSITE: - // FIXME: It's not clear if this is a type or item reference. - Refs.push_back({TiRefKind::IndexRef, 8, 1}); // signature + Refs.push_back({TiRefKind::TypeRef, 8, 1}); // UDT allocated break; // Defranges don't have types, just registers and code offsets. |