[llvm] r324000 - [CodeView] Class record member counts should include base classes and ...

Brock Wyma via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 1 12:37:38 PST 2018


Author: bwyma
Date: Thu Feb  1 12:37:38 2018
New Revision: 324000

URL: http://llvm.org/viewvc/llvm-project?rev=324000&view=rev
Log:
[CodeView] Class record member counts should include base classes and ...

Increment the field list member count for base classes and virtual base
classes.

Differential Revision: https://reviews.llvm.org/D41874


Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    llvm/trunk/test/DebugInfo/COFF/types-data-members.ll
    llvm/trunk/test/DebugInfo/COFF/vftables.ll

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp?rev=324000&r1=323999&r2=324000&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp Thu Feb  1 12:37:38 2018
@@ -1970,6 +1970,7 @@ CodeViewDebug::lowerRecordFieldList(cons
           VBTableIndex);
 
       ContinuationBuilder.writeMemberType(VBCR);
+      MemberCount++;
     } else {
       assert(I->getOffsetInBits() % 8 == 0 &&
              "bases must be on byte boundaries");
@@ -1977,6 +1978,7 @@ CodeViewDebug::lowerRecordFieldList(cons
                           getTypeIndex(I->getBaseType()),
                           I->getOffsetInBits() / 8);
       ContinuationBuilder.writeMemberType(BCR);
+      MemberCount++;
     }
   }
 

Modified: llvm/trunk/test/DebugInfo/COFF/types-data-members.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/types-data-members.ll?rev=324000&r1=323999&r2=324000&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/types-data-members.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/types-data-members.ll Thu Feb  1 12:37:38 2018
@@ -298,7 +298,7 @@
 ; CHECK:   }
 ; CHECK:   Struct (0x1016) {
 ; CHECK:     TypeLeafKind: LF_STRUCTURE (0x1505)
-; CHECK:     MemberCount: 2
+; CHECK:     MemberCount: 4
 ; CHECK:     Properties [ (0x200)
 ; CHECK:       HasUniqueName (0x200)
 ; CHECK:     ]

Modified: llvm/trunk/test/DebugInfo/COFF/vftables.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/vftables.ll?rev=324000&r1=323999&r2=324000&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/vftables.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/vftables.ll Thu Feb  1 12:37:38 2018
@@ -117,11 +117,9 @@
 ; CHECK-NEXT:    }
 ; CHECK-NOT:     VFPtr
 
-; FIXME: Is the MemberCount correct?
-
 ; CHECK:        Struct ({{.*}}) {
 ; CHECK-NEXT:     TypeLeafKind: LF_STRUCTURE (0x1505)
-; CHECK-NEXT:     MemberCount: 3
+; CHECK-NEXT:     MemberCount: 5
 ; CHECK-NEXT:     Properties [ (0x200)
 ; CHECK-NEXT:       HasUniqueName (0x200)
 ; CHECK-NEXT:     ]
@@ -145,7 +143,7 @@
 
 ; CHECK:        Struct ({{.*}}) {
 ; CHECK-NEXT:     TypeLeafKind: LF_STRUCTURE (0x1505)
-; CHECK-NEXT:     MemberCount: 3
+; CHECK-NEXT:     MemberCount: 4
 ; CHECK-NEXT:     Properties [ (0x200)
 ; CHECK-NEXT:       HasUniqueName (0x200)
 ; CHECK-NEXT:     ]




More information about the llvm-commits mailing list