diff options
| author | Ken Dyck <kd@kendyck.com> | 2011-03-30 01:21:33 +0000 |
|---|---|---|
| committer | Ken Dyck <kd@kendyck.com> | 2011-03-30 01:21:33 +0000 |
| commit | 075de167f8f233b714a4a5e59cc1540368a632d4 (patch) | |
| tree | 0cdd809c6107237c7528efe83a2b469c07f1d6de /clang/lib/CodeGen/CGVTables.cpp | |
| parent | 078f3e690540903575fd51ad843b6c0e6f81cc82 (diff) | |
| download | llvm-075de167f8f233b714a4a5e59cc1540368a632d4.zip llvm-075de167f8f233b714a4a5e59cc1540368a632d4.tar.gz llvm-075de167f8f233b714a4a5e59cc1540368a632d4.tar.bz2 | |
Convert local offset variable to CharUnits in AddVCallOffsets. No change in
functionality intended.
llvm-svn: 128522
Diffstat (limited to 'clang/lib/CodeGen/CGVTables.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGVTables.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CGVTables.cpp b/clang/lib/CodeGen/CGVTables.cpp index ac27ab8..a0d7c4c 100644 --- a/clang/lib/CodeGen/CGVTables.cpp +++ b/clang/lib/CodeGen/CGVTables.cpp @@ -876,7 +876,7 @@ void VCallAndVBaseOffsetBuilder::AddVCallOffsets(BaseSubobject Base, if (!VCallOffsets.AddVCallOffset(MD, OffsetOffset)) continue; - int64_t Offset = 0; + CharUnits Offset = CharUnits::Zero(); if (Overriders) { // Get the final overrider. @@ -885,11 +885,11 @@ void VCallAndVBaseOffsetBuilder::AddVCallOffsets(BaseSubobject Base, /// The vcall offset is the offset from the virtual base to the object /// where the function was overridden. - // FIXME: We should not use / 8 here. - Offset = (int64_t)(Context.toBits(Overrider.Offset) - VBaseOffset) / 8; + Offset = Overrider.Offset - Context.toCharUnitsFromBits(VBaseOffset); } - Components.push_back(VTableComponent::MakeVCallOffset(Offset)); + Components.push_back( + VTableComponent::MakeVCallOffset(Offset.getQuantity())); } // And iterate over all non-virtual bases (ignoring the primary base). |
