From 1a7f7526b7fd817e3f49c210302d189eff981b5e Mon Sep 17 00:00:00 2001 From: Ken Dyck Date: Thu, 7 Apr 2011 01:22:42 +0000 Subject: [PATCH] [Reapply r128773. This is not the source of the issues Devang was seeing with debug info.] Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129048 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/CGVTables.cpp | 8 ++++---- lib/CodeGen/CGVTables.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/CodeGen/CGVTables.cpp b/lib/CodeGen/CGVTables.cpp index d5eab28e74..8ccba1fa2f 100644 --- a/lib/CodeGen/CGVTables.cpp +++ b/lib/CodeGen/CGVTables.cpp @@ -2438,7 +2438,7 @@ int64_t CodeGenVTables::getVirtualBaseOffsetOffset(const CXXRecordDecl *RD, VirtualBaseClassOffsetOffsetsMapTy::iterator I = VirtualBaseClassOffsetOffsets.find(ClassPair); if (I != VirtualBaseClassOffsetOffsets.end()) - return I->second; + return I->second.getQuantity(); VCallAndVBaseOffsetBuilder Builder(RD, RD, /*FinalOverriders=*/0, BaseSubobject(RD, CharUnits::Zero()), @@ -2452,13 +2452,13 @@ int64_t CodeGenVTables::getVirtualBaseOffsetOffset(const CXXRecordDecl *RD, ClassPairTy ClassPair(RD, I->first); VirtualBaseClassOffsetOffsets.insert( - std::make_pair(ClassPair, I->second.getQuantity())); + std::make_pair(ClassPair, I->second)); } I = VirtualBaseClassOffsetOffsets.find(ClassPair); assert(I != VirtualBaseClassOffsetOffsets.end() && "Did not find index!"); - return I->second; + return I->second.getQuantity(); } uint64_t @@ -2910,7 +2910,7 @@ void CodeGenVTables::ComputeVTableRelatedInformation(const CXXRecordDecl *RD, ClassPairTy ClassPair(RD, I->first); VirtualBaseClassOffsetOffsets.insert( - std::make_pair(ClassPair, I->second.getQuantity())); + std::make_pair(ClassPair, I->second)); } } diff --git a/lib/CodeGen/CGVTables.h b/lib/CodeGen/CGVTables.h index b2f9401858..ed0119b4b2 100644 --- a/lib/CodeGen/CGVTables.h +++ b/lib/CodeGen/CGVTables.h @@ -103,9 +103,9 @@ class CodeGenVTables { const CXXRecordDecl *> ClassPairTy; /// VirtualBaseClassOffsetOffsets - Contains the vtable offset (relative to - /// the address point) in bytes where the offsets for virtual bases of a class + /// the address point) in chars where the offsets for virtual bases of a class /// are stored. - typedef llvm::DenseMap + typedef llvm::DenseMap VirtualBaseClassOffsetOffsetsMapTy; VirtualBaseClassOffsetOffsetsMapTy VirtualBaseClassOffsetOffsets; -- 2.50.1