diff options
Diffstat (limited to 'lib/CodeGen/CGClass.cpp')
-rw-r--r-- | lib/CodeGen/CGClass.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/CodeGen/CGClass.cpp b/lib/CodeGen/CGClass.cpp index 6e0e1d418f..87eabe9e6e 100644 --- a/lib/CodeGen/CGClass.cpp +++ b/lib/CodeGen/CGClass.cpp @@ -559,11 +559,9 @@ static void EmitMemberInitializer(CodeGenFunction &CGF, LHS = CGF.EmitLValueForFieldInitialization(ThisPtr, Field, 0); } - // FIXME: If there's no initializer and the CXXCtorInitializer - // was implicitly generated, we shouldn't be zeroing memory. - if (FieldType->isArrayType() && !MemberInit->getInit()) { - CGF.EmitNullInitialization(LHS.getAddress(), Field->getType()); - } else if (!CGF.hasAggregateLLVMType(Field->getType())) { + assert(MemberInit->getInit()); + + if (!CGF.hasAggregateLLVMType(Field->getType())) { if (LHS.isSimple()) { CGF.EmitExprAsInit(MemberInit->getInit(), Field, LHS, false); } else { |