summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-10-24 17:02:40 +0000
committerReid Kleckner <rnk@google.com>2017-10-24 17:02:40 +0000
commit8aa32ffbad5e06fc37596285a821d69c321de5a8 (patch)
treebd499cb100fa4d230cde39f132c131ad6518ecf7 /llvm/lib
parente7f1734f1aa50dd888f563f84b1265c14a896949 (diff)
downloadbcm5719-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')
-rw-r--r--llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp3
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.
OpenPOWER on IntegriCloud