summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Dyck <kd@kendyck.com>2011-04-07 01:22:42 +0000
committerKen Dyck <kd@kendyck.com>2011-04-07 01:22:42 +0000
commit3a09bc5ab01144607c02e63a497ac97a9c066c80 (patch)
treeb29cd61971cd369fc241c8262329f9d26e6e9f94
parentc0e86fb965d6944f030da4789f0fb816d8a42edb (diff)
downloadbcm5719-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.cpp8
-rw-r--r--clang/lib/CodeGen/CGVTables.h4
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;
OpenPOWER on IntegriCloud