]> granicus.if.org Git - llvm/commitdiff
[llvm-readobj] Fix incorrect printing of CV column info.
authorZachary Turner <zturner@google.com>
Sat, 29 Apr 2017 00:03:32 +0000 (00:03 +0000)
committerZachary Turner <zturner@google.com>
Sat, 29 Apr 2017 00:03:32 +0000 (00:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301720 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-readobj/COFFDumper.cpp

index ac28c1a7cb8b8057c55f3dbecf92672c0f2e002e..280359ee2e74f0a240457d2e8b163c4f0c24d001 100644 (file)
@@ -906,6 +906,7 @@ void COFFDumper::printCodeViewSymbolSection(StringRef SectionName,
 
       ListScope S(W, "FilenameSegment");
       printFileNameForOffset("Filename", Entry.NameIndex);
+      uint32_t ColumnIndex = 0;
       for (const auto &Line : Entry.LineNumbers) {
         if (Line.Offset >= LineInfo.header()->CodeSize) {
           error(object_error::parse_failed);
@@ -925,8 +926,9 @@ void COFFDumper::printCodeViewSymbolSection(StringRef SectionName,
         W.printNumber("LineNumberEndDelta", LI.getLineDelta());
         W.printBoolean("IsStatement", LI.isStatement());
         if (LineInfo.header()->Flags & HaveColumns) {
-          W.printNumber("ColStart", Entry.Columns[0].StartColumn);
-          W.printNumber("ColEnd", Entry.Columns[0].EndColumn);
+          W.printNumber("ColStart", Entry.Columns[ColumnIndex].StartColumn);
+          W.printNumber("ColEnd", Entry.Columns[ColumnIndex].EndColumn);
+          ++ColumnIndex;
         }
       }
     }