diff options
Diffstat (limited to 'llvm/lib/DebugInfo')
| -rw-r--r-- | llvm/lib/DebugInfo/CodeView/TypeRecord.cpp | 8 | ||||
| -rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp b/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp index 40f963fe25a..f63371e8c14 100644 --- a/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp +++ b/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp @@ -166,12 +166,14 @@ ErrorOr<EnumRecord> EnumRecord::deserialize(TypeRecordKind Kind, ArrayRef<uint8_t> &Data) { const Layout *L = nullptr; StringRef Name; - CV_DESERIALIZE(Data, L, Name); + StringRef UniqueName; + CV_DESERIALIZE(Data, L, Name, + CV_CONDITIONAL_FIELD(UniqueName, L->hasUniqueName())); uint16_t P = L->Properties; ClassOptions Options = static_cast<ClassOptions>(P); - return EnumRecord(L->NumEnumerators, Options, L->FieldListType, Name, Name, - L->UnderlyingType); + return EnumRecord(L->NumEnumerators, Options, L->FieldListType, Name, + UniqueName, L->UnderlyingType); } ErrorOr<BitFieldRecord> BitFieldRecord::deserialize(TypeRecordKind Kind, diff --git a/llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp b/llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp index 8b44ec1b35e..5617e57ccf6 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp @@ -105,7 +105,7 @@ public: } Error visitClass(ClassRecord &Rec) override { return verify(Rec); } - Error visitEnum(EnumRecord &Rec) override { return Error::success(); } + Error visitEnum(EnumRecord &Rec) override { return verify(Rec); } Error visitUnion(UnionRecord &Rec) override { return verify(Rec); } Error visitTypeBegin(const CVRecord<TypeLeafKind> &Rec) override { |

