Restore correct use of GC barriers.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133144 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGClass.cpp b/lib/CodeGen/CGClass.cpp
index 066f0d5..77a5be6 100644
--- a/lib/CodeGen/CGClass.cpp
+++ b/lib/CodeGen/CGClass.cpp
@@ -430,10 +430,8 @@
     }
 
     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 @@
     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);