diff options
author | John McCall <rjmccall@apple.com> | 2011-06-16 04:16:24 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-06-16 04:16:24 +0000 |
commit | a07398ed98ea2b55ad7a505a3aab18aed93b149f (patch) | |
tree | 131d1435c6d1cdebdeab4c2a48e1f4371cd23c9e /lib/CodeGen/CGClass.cpp | |
parent | c7b993b4dfc14ca2389087f21467259de8af7e91 (diff) |
Restore correct use of GC barriers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133144 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGClass.cpp')
-rw-r--r-- | lib/CodeGen/CGClass.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/CodeGen/CGClass.cpp b/lib/CodeGen/CGClass.cpp index 066f0d5c7d..77a5be6c96 100644 --- a/lib/CodeGen/CGClass.cpp +++ b/lib/CodeGen/CGClass.cpp @@ -430,10 +430,8 @@ static void EmitAggMemberInitializer(CodeGenFunction &CGF, } if (!CGF.hasAggregateLLVMType(T)) { - CGF.EmitScalarInit(MemberInit->getInit(), 0, Dest, false, - LHS.isVolatileQualified(), - CGF.getContext().getTypeAlign(T), - T); + LValue lvalue = CGF.MakeAddrLValue(Dest, T); + CGF.EmitScalarInit(MemberInit->getInit(), /*decl*/ 0, lvalue, false); } else if (T->isAnyComplexType()) { CGF.EmitComplexExprIntoAddr(MemberInit->getInit(), Dest, LHS.isVolatileQualified()); @@ -555,8 +553,7 @@ static void EmitMemberInitializer(CodeGenFunction &CGF, CGF.EmitNullInitialization(LHS.getAddress(), Field->getType()); } else if (!CGF.hasAggregateLLVMType(Field->getType())) { if (LHS.isSimple()) { - CGF.EmitExprAsInit(MemberInit->getInit(), Field, LHS.getAddress(), - CGF.getContext().getDeclAlign(Field), false); + CGF.EmitExprAsInit(MemberInit->getInit(), Field, LHS, false); } else { RValue RHS = RValue::get(CGF.EmitScalarExpr(MemberInit->getInit())); CGF.EmitStoreThroughLValue(RHS, LHS, FieldType); |