diff options
author | Anders Carlsson <andersca@mac.com> | 2010-05-28 21:13:31 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2010-05-28 21:13:31 +0000 |
commit | 4a25799760982b3363f3c4eb6df953d70e35e37d (patch) | |
tree | c6e189cfa15423e3fee0c48b3677998c4b10a8c4 | |
parent | d6b305dcba95fc4928a2baa6bbeb15d22db9d061 (diff) |
Move BaseInfo outside of the EmptySubobject class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105002 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/AST/RecordLayoutBuilder.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/AST/RecordLayoutBuilder.cpp b/lib/AST/RecordLayoutBuilder.cpp index 0ede4bce20..a2cf28d1fb 100644 --- a/lib/AST/RecordLayoutBuilder.cpp +++ b/lib/AST/RecordLayoutBuilder.cpp @@ -23,6 +23,16 @@ using namespace clang; namespace { +struct BaseInfo { + const CXXRecordDecl *Class; + bool IsVirtual; + + const CXXRecordDecl *PrimaryVirtualBase; + + llvm::SmallVector<BaseInfo*, 4> Bases; + const BaseInfo *Derived; +}; + /// EmptySubobjectMap - Keeps track of which empty subobjects exist at different /// offsets while laying out a C++ class. class EmptySubobjectMap { @@ -40,16 +50,6 @@ class EmptySubobjectMap { /// member subobject that is empty. void ComputeEmptySubobjectSizes(); - struct BaseInfo { - const CXXRecordDecl *Class; - bool IsVirtual; - - const CXXRecordDecl *PrimaryVirtualBase; - - llvm::SmallVector<BaseInfo*, 4> Bases; - const BaseInfo *Derived; - }; - llvm::DenseMap<const CXXRecordDecl *, BaseInfo *> VirtualBaseInfo; llvm::DenseMap<const CXXRecordDecl *, BaseInfo *> NonVirtualBaseInfo; @@ -148,9 +148,9 @@ void EmptySubobjectMap::ComputeEmptySubobjectSizes() { } } -EmptySubobjectMap::BaseInfo * -EmptySubobjectMap::ComputeBaseInfo(const CXXRecordDecl *RD, bool IsVirtual, - const BaseInfo *Derived) { +BaseInfo *EmptySubobjectMap::ComputeBaseInfo(const CXXRecordDecl *RD, + bool IsVirtual, + const BaseInfo *Derived) { BaseInfo *Info; if (IsVirtual) { |