Revert accidental commit

llvm-svn: 91795
This commit is contained in:
Douglas Gregor 2009-12-20 21:10:58 +00:00
parent b752f1e25c
commit 1b6d10555f
1 changed files with 19 additions and 10 deletions

View File

@ -3745,19 +3745,28 @@ void Sema::ActOnUninitializedDecl(DeclPtrTy dcl,
InitType->isRecordType() && !InitType->isDependentType()) {
if (!RequireCompleteType(Var->getLocation(), InitType,
diag::err_invalid_incomplete_type_use)) {
InitializedEntity Entity
= InitializedEntity::InitializeVariable(Var);
InitializationKind Kind
= InitializationKind::CreateDefault(Var->getLocation());
ASTOwningVector<&ActionBase::DeleteExpr> ConstructorArgs(*this);
InitializationSequence InitSeq(*this, Entity, Kind, 0, 0);
OwningExprResult Init = InitSeq.Perform(*this, Entity, Kind,
MultiExprArg(*this, 0, 0));
if (Init.isInvalid())
CXXConstructorDecl *Constructor
= PerformInitializationByConstructor(InitType,
MultiExprArg(*this, 0, 0),
Var->getLocation(),
SourceRange(Var->getLocation(),
Var->getLocation()),
Var->getDeclName(),
InitializationKind::CreateDefault(Var->getLocation()),
ConstructorArgs);
// FIXME: Location info for the variable initialization?
if (!Constructor)
Var->setInvalidDecl();
else {
Var->setInit(Context,
MaybeCreateCXXExprWithTemporaries(Init.takeAs<Expr>()));
// FIXME: Cope with initialization of arrays
if (!Constructor->isTrivial() &&
InitializeVarWithConstructor(Var, Constructor,
move_arg(ConstructorArgs)))
Var->setInvalidDecl();
FinalizeVarWithDestructor(Var, InitType);
}
} else {