Index: llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp =================================================================== --- llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp +++ llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp @@ -1970,6 +1970,7 @@ VBTableIndex); ContinuationBuilder.writeMemberType(VBCR); + MemberCount++; } else { assert(I->getOffsetInBits() % 8 == 0 && "bases must be on byte boundaries"); @@ -1977,6 +1978,7 @@ getTypeIndex(I->getBaseType()), I->getOffsetInBits() / 8); ContinuationBuilder.writeMemberType(BCR); + MemberCount++; } } Index: llvm/trunk/test/DebugInfo/COFF/types-data-members.ll =================================================================== --- llvm/trunk/test/DebugInfo/COFF/types-data-members.ll +++ llvm/trunk/test/DebugInfo/COFF/types-data-members.ll @@ -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: ] Index: llvm/trunk/test/DebugInfo/COFF/vftables.ll =================================================================== --- llvm/trunk/test/DebugInfo/COFF/vftables.ll +++ llvm/trunk/test/DebugInfo/COFF/vftables.ll @@ -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: ]