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 | 056818f8a204aada42085c0649772c9634599dd9 (patch) | |
| tree | c44f22064b03a9e37fb18edc24e3891fed0b81a7 /clang/lib/AST/RecordLayoutBuilder.cpp | |
| parent | b29228905f1c32e49379d360f011a8071c4b0602 (diff) | |
| download | bcm5719-llvm-056818f8a204aada42085c0649772c9634599dd9.tar.gz bcm5719-llvm-056818f8a204aada42085c0649772c9634599dd9.zip  | |
Move BaseInfo outside of the EmptySubobject class.
llvm-svn: 105002
Diffstat (limited to 'clang/lib/AST/RecordLayoutBuilder.cpp')
| -rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.cpp | 26 | 
1 files changed, 13 insertions, 13 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp index 0ede4bce20d..a2cf28d1fb6 100644 --- a/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/clang/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) {  | 

