diff options
Diffstat (limited to 'lib/CodeGen/CGClass.cpp')
-rw-r--r-- | lib/CodeGen/CGClass.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/CodeGen/CGClass.cpp b/lib/CodeGen/CGClass.cpp index 1acbb0886a..8e46fcd3ed 100644 --- a/lib/CodeGen/CGClass.cpp +++ b/lib/CodeGen/CGClass.cpp @@ -398,8 +398,10 @@ static void EmitBaseInitializer(CodeGenFunction &CGF, BaseClassDecl, isBaseVirtual); - AggValueSlot AggSlot = AggValueSlot::forAddr(V, Qualifiers(), - /*Lifetime*/ true); + AggValueSlot AggSlot = + AggValueSlot::forAddr(V, Qualifiers(), + AggValueSlot::IsDestructed, + AggValueSlot::DoesNotNeedGCBarriers); CGF.EmitAggExpr(BaseInit->getInit(), AggSlot); @@ -436,8 +438,10 @@ static void EmitAggMemberInitializer(CodeGenFunction &CGF, CGF.EmitComplexExprIntoAddr(MemberInit->getInit(), Dest, LHS.isVolatileQualified()); } else { - AggValueSlot Slot = AggValueSlot::forAddr(Dest, LHS.getQuals(), - /*Lifetime*/ true); + AggValueSlot Slot = + AggValueSlot::forAddr(Dest, LHS.getQuals(), + AggValueSlot::IsDestructed, + AggValueSlot::DoesNotNeedGCBarriers); CGF.EmitAggExpr(MemberInit->getInit(), Slot); } @@ -1324,7 +1328,9 @@ CodeGenFunction::EmitDelegatingCXXConstructorCall(const CXXConstructorDecl *Ctor llvm::Value *ThisPtr = LoadCXXThis(); AggValueSlot AggSlot = - AggValueSlot::forAddr(ThisPtr, Qualifiers(), /*Lifetime*/ true); + AggValueSlot::forAddr(ThisPtr, Qualifiers(), + AggValueSlot::IsDestructed, + AggValueSlot::DoesNotNeedGCBarriers); EmitAggExpr(Ctor->init_begin()[0]->getInit(), AggSlot); |