From e182370eda7c54ee2d02070e19993397b562f5a0 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Wed, 7 Jul 2010 23:37:33 +0000 Subject: Revert r107828 and r107827, the fix for PR7556, which seems to be breaking bootstrap on Linux. llvm-svn: 107837 --- clang/lib/CodeGen/CGExprCXX.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'clang/lib/CodeGen/CGExprCXX.cpp') diff --git a/clang/lib/CodeGen/CGExprCXX.cpp b/clang/lib/CodeGen/CGExprCXX.cpp index ea1753bbc17..f2e6a11292b 100644 --- a/clang/lib/CodeGen/CGExprCXX.cpp +++ b/clang/lib/CodeGen/CGExprCXX.cpp @@ -572,18 +572,9 @@ static void EmitNewInitializer(CodeGenFunction &CGF, const CXXNewExpr *E, } if (CXXConstructorDecl *Ctor = E->getConstructor()) { - // Per C++ [expr.new]p15, if we have an initializer, then we're performing - // direct initialization. C++ [dcl.init]p5 requires that we - // zero-initialize storage if there are no user-declared constructors. - if (E->hasInitializer() && - !Ctor->getParent()->hasUserDeclaredConstructor() && - !Ctor->getParent()->isEmpty()) - CGF.EmitNullInitialization(NewPtr, E->getAllocatedType()); - - if (!Ctor->isTrivial()) - CGF.EmitCXXConstructorCall(Ctor, Ctor_Complete, /*ForVirtualBase=*/false, - NewPtr, E->constructor_arg_begin(), - E->constructor_arg_end()); + CGF.EmitCXXConstructorCall(Ctor, Ctor_Complete, /*ForVirtualBase=*/false, + NewPtr, E->constructor_arg_begin(), + E->constructor_arg_end()); return; } -- cgit v1.2.3