Re-land the fix for PR7139.

llvm-svn: 104446
This commit is contained in:
Anders Carlsson
2010-05-22 17:35:42 +00:00
parent 024d80e571
commit c0964b60e5
7 changed files with 56 additions and 12 deletions

View File

@@ -465,7 +465,7 @@ static void EmitMemberInitializer(CodeGenFunction &CGF,
/*IsInitializer=*/true);
CGF.EmitStoreThroughLValue(RHS, LHS, FieldType);
} else if (FieldType->isArrayType() && !MemberInit->getInit()) {
CGF.EmitMemSetToZero(LHS.getAddress(), Field->getType());
CGF.EmitNullInitialization(LHS.getAddress(), Field->getType());
} else if (!CGF.hasAggregateLLVMType(Field->getType())) {
RHS = RValue::get(CGF.EmitScalarExpr(MemberInit->getInit(), true));
CGF.EmitStoreThroughLValue(RHS, LHS, FieldType);