summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/RecordLayoutBuilder.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-05-28 21:13:31 +0000
committerAnders Carlsson <andersca@mac.com>2010-05-28 21:13:31 +0000
commit056818f8a204aada42085c0649772c9634599dd9 (patch)
treec44f22064b03a9e37fb18edc24e3891fed0b81a7 /clang/lib/AST/RecordLayoutBuilder.cpp
parentb29228905f1c32e49379d360f011a8071c4b0602 (diff)
downloadbcm5719-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.cpp26
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) {
OpenPOWER on IntegriCloud