diff options
author | Ken Dyck <kd@kendyck.com> | 2011-04-07 01:22:42 +0000 |
---|---|---|
committer | Ken Dyck <kd@kendyck.com> | 2011-04-07 01:22:42 +0000 |
commit | 3a09bc5ab01144607c02e63a497ac97a9c066c80 (patch) | |
tree | b29cd61971cd369fc241c8262329f9d26e6e9f94 | |
parent | c0e86fb965d6944f030da4789f0fb816d8a42edb (diff) | |
download | bcm5719-llvm-3a09bc5ab01144607c02e63a497ac97a9c066c80.tar.gz bcm5719-llvm-3a09bc5ab01144607c02e63a497ac97a9c066c80.zip |
[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.
llvm-svn: 129048
-rw-r--r-- | clang/lib/CodeGen/CGVTables.cpp | 8 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGVTables.h | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/clang/lib/CodeGen/CGVTables.cpp b/clang/lib/CodeGen/CGVTables.cpp index d5eab28e743..8ccba1fa2f6 100644 --- a/clang/lib/CodeGen/CGVTables.cpp +++ b/clang/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/clang/lib/CodeGen/CGVTables.h b/clang/lib/CodeGen/CGVTables.h index b2f94018585..ed0119b4b23 100644 --- a/clang/lib/CodeGen/CGVTables.h +++ b/clang/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<ClassPairTy, int64_t> + typedef llvm::DenseMap<ClassPairTy, CharUnits> VirtualBaseClassOffsetOffsetsMapTy; VirtualBaseClassOffsetOffsetsMapTy VirtualBaseClassOffsetOffsets; |