aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-09-22 18:21:58 +0000
committerAnders Carlsson <andersca@mac.com>2009-09-22 18:21:58 +0000
commit0cd40e4f909b4172254c83ae7291576204a588b8 (patch)
tree6fd3d6a553410e2cfa4a1ca1ddff8ac414d88001
parenta48f552c74fadd9b0c1c5d11478ef144f480fc4f (diff)
Explicitly initialize the PrimaryBase and PrimaryBaseWasVirtual members.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82560 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/AST/RecordLayoutBuilder.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/AST/RecordLayoutBuilder.cpp b/lib/AST/RecordLayoutBuilder.cpp
index 3669db65ca..836e43c43a 100644
--- a/lib/AST/RecordLayoutBuilder.cpp
+++ b/lib/AST/RecordLayoutBuilder.cpp
@@ -23,13 +23,13 @@ using namespace clang;
ASTRecordLayoutBuilder::ASTRecordLayoutBuilder(ASTContext &Ctx)
: Ctx(Ctx), Size(0), Alignment(8), Packed(false), MaxFieldAlignment(0),
- NextOffset(0), IsUnion(false), NonVirtualSize(0), NonVirtualAlignment(8) {}
+ NextOffset(0), IsUnion(false), NonVirtualSize(0), NonVirtualAlignment(8),
+ PrimaryBase(0), PrimaryBaseWasVirtual(false) {}
/// LayoutVtable - Lay out the vtable and set PrimaryBase.
void ASTRecordLayoutBuilder::LayoutVtable(const CXXRecordDecl *RD) {
if (!RD->isDynamicClass()) {
// There is no primary base in this case.
- setPrimaryBase(0, false);
return;
}
@@ -149,10 +149,8 @@ void ASTRecordLayoutBuilder::SelectPrimaryBase(const CXXRecordDecl *RD) {
// If we have no virtual bases at this point, bail out as the searching below
// is expensive.
- if (RD->getNumVBases() == 0) {
- setPrimaryBase(0, false);
+ if (RD->getNumVBases() == 0)
return;
- }
// Then we can search for the first nearly empty virtual base itself.
const CXXRecordDecl *FirstPrimary = 0;