[PATCH] D45104: [COFF] Fix reading variable-length encoded records
Alexandre Ganea via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 3 08:09:06 PDT 2018
aganea updated this revision to Diff 140798.
aganea added a comment.
My bad - I should have tested without the patch. Updated following @zturner's suggestion.
Repository:
rL LLVM
https://reviews.llvm.org/D45104
Files:
llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
llvm/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
Index: llvm/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
===================================================================
--- llvm/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
+++ llvm/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
@@ -580,3 +580,10 @@
checkTypeReferences(2, TypeIndex(7), TypeIndex(8), TypeIndex(9));
}
+// This is a test for getEncodedIntegerLength()
+TEST_F(TypeIndexIteratorTest, VariableSizeIntegers) {
+ BaseClassRecord BaseClass1(MemberAccess::Public, TypeIndex(47), (uint64_t)-1);
+ BaseClassRecord BaseClass2(MemberAccess::Public, TypeIndex(48), 1);
+ writeFieldList(BaseClass1, BaseClass2);
+ checkTypeReferences(0, TypeIndex(47), TypeIndex(48));
+}
Index: llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
===================================================================
--- llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
+++ llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
@@ -58,7 +58,7 @@
8, // LF_UQUADWORD
};
- return Sizes[N - LF_NUMERIC];
+ return 2 + Sizes[N - LF_NUMERIC];
}
static inline uint32_t getCStringLength(ArrayRef<uint8_t> Data) {
@@ -393,7 +393,7 @@
Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type
break;
case SymbolKind::S_REGISTER:
- Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type;
+ Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type
break;
case SymbolKind::S_CONSTANT:
Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45104.140798.patch
Type: text/x-patch
Size: 1489 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180403/ac7ba3e9/attachment.bin>
More information about the llvm-commits
mailing list