summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/CodeView
diff options
context:
space:
mode:
authorBob Haarman <llvm@inglorion.net>2016-10-25 22:11:52 +0000
committerBob Haarman <llvm@inglorion.net>2016-10-25 22:11:52 +0000
commit26a87bd0306cd9ac6754bf6039f79bd9c777f842 (patch)
tree3d1760068de99823484db35d3cf539746b3fe98e /llvm/lib/DebugInfo/CodeView
parentde86241a097414640d1d410e68ac3287c24d9810 (diff)
downloadbcm5719-llvm-26a87bd0306cd9ac6754bf6039f79bd9c777f842.tar.gz
bcm5719-llvm-26a87bd0306cd9ac6754bf6039f79bd9c777f842.zip
[codeview] support emitting indirect virtual base class information
Summary: Fixes PR28281. MSVC lists indirect virtual base classes in the field list of a class, using LF_IVBCLASS records. This change makes LLVM emit such records when processing DW_TAG_inheritance tags with the DIFlagVirtual and (newly introduced) DIFlagIndirect tags. Reviewers: rnk, ruiu, zturner Differential Revision: https://reviews.llvm.org/D25578 llvm-svn: 285130
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView')
-rw-r--r--llvm/lib/DebugInfo/CodeView/TypeRecord.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp b/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp
index a7a1bb9228c..7a2dc8fa803 100644
--- a/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp
+++ b/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp
@@ -382,8 +382,8 @@ VirtualBaseClassRecord::deserialize(TypeRecordKind Kind,
uint64_t Offset;
uint64_t Index;
CV_DESERIALIZE(Reader, L, CV_NUMERIC_FIELD(Offset), CV_NUMERIC_FIELD(Index));
- return VirtualBaseClassRecord(L->Attrs.getAccess(), L->BaseType, L->VBPtrType,
- Offset, Index);
+ return VirtualBaseClassRecord(Kind, L->Attrs.getAccess(), L->BaseType,
+ L->VBPtrType, Offset, Index);
}
Expected<ListContinuationRecord>
OpenPOWER on IntegriCloud