diff options
author | Ken Dyck <kd@kendyck.com> | 2011-03-01 01:22:45 +0000 |
---|---|---|
committer | Ken Dyck <kd@kendyck.com> | 2011-03-01 01:22:45 +0000 |
commit | aab635e67a07329330fe0562a158834e1f6a0307 (patch) | |
tree | ee66367df1e29b29f3282f429e7c41a1bcd2e935 /clang/lib | |
parent | 6a5674ffa619b009c1cc3cb8f2933ed730064fcf (diff) | |
download | bcm5719-llvm-aab635e67a07329330fe0562a158834e1f6a0307.tar.gz bcm5719-llvm-aab635e67a07329330fe0562a158834e1f6a0307.zip |
Change the return type of GetVirtualPointersSize() to CharUnits. No change
in functionality intended.
llvm-svn: 126727
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp index bcaa1f47d67..f9cc286e645 100644 --- a/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/clang/lib/AST/RecordLayoutBuilder.cpp @@ -657,7 +657,7 @@ protected: void SelectPrimaryVBase(const CXXRecordDecl *RD); - virtual uint64_t GetVirtualPointersSize(const CXXRecordDecl *RD) const; + virtual CharUnits GetVirtualPointersSize(const CXXRecordDecl *RD) const; /// LayoutNonVirtualBases - Determines the primary base class (if any) and /// lays it out. Will then proceed to lay out all non-virtual base clasess. @@ -757,9 +757,9 @@ RecordLayoutBuilder::SelectPrimaryVBase(const CXXRecordDecl *RD) { } } -uint64_t +CharUnits RecordLayoutBuilder::GetVirtualPointersSize(const CXXRecordDecl *RD) const { - return Context.Target.getPointerWidth(0); + return Context.toCharUnitsFromBits(Context.Target.getPointerWidth(0)); } /// DeterminePrimaryBase - Determine the primary base of the given class. @@ -815,7 +815,7 @@ void RecordLayoutBuilder::DeterminePrimaryBase(const CXXRecordDecl *RD) { assert(DataSize == 0 && "Vtable pointer must be at offset zero!"); // Update the size. - setSize(getSize() + Context.toCharUnitsFromBits(GetVirtualPointersSize(RD))); + setSize(getSize() + GetVirtualPointersSize(RD)); setDataSize(getSize()); CharUnits UnpackedBaseAlign = @@ -1661,17 +1661,19 @@ namespace { EmptySubobjectMap *EmptySubobjects) : RecordLayoutBuilder(Ctx, EmptySubobjects) {} - virtual uint64_t GetVirtualPointersSize(const CXXRecordDecl *RD) const; + virtual CharUnits GetVirtualPointersSize(const CXXRecordDecl *RD) const; }; } -uint64_t +CharUnits MSRecordLayoutBuilder::GetVirtualPointersSize(const CXXRecordDecl *RD) const { // We should reserve space for two pointers if the class has both // virtual functions and virtual bases. + CharUnits PointerWidth = + Context.toCharUnitsFromBits(Context.Target.getPointerWidth(0)); if (RD->isPolymorphic() && RD->getNumVBases() > 0) - return 2 * Context.Target.getPointerWidth(0); - return Context.Target.getPointerWidth(0); + return 2 * PointerWidth; + return PointerWidth; } /// getASTRecordLayout - Get or compute information about the layout of the |