summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-12-25 23:59:21 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-12-25 23:59:21 +0000
commit11c7b1514872d98df0f03c9eaa4893b29a0295af (patch)
tree0d6a8328e163460e4e917969f679d3487f0071c7 /clang/lib
parentb2138e55290f773674be935598dea5f266386f7f (diff)
downloadbcm5719-llvm-11c7b1514872d98df0f03c9eaa4893b29a0295af.tar.gz
bcm5719-llvm-11c7b1514872d98df0f03c9eaa4893b29a0295af.zip
Attempted fix for PR5884; this code will be dead soon, but this fix should
help for the moment. llvm-svn: 92165
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 30c799305dd..a1800755bdc 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -1114,14 +1114,13 @@ Sema::BuildMemberInitializer(FieldDecl *Member, Expr **Args,
QualType FieldType = Member->getType();
if (const ArrayType *Array = Context.getAsArrayType(FieldType))
FieldType = Array->getElementType();
+ ASTOwningVector<&ActionBase::DeleteExpr> ConstructorArgs(*this);
if (FieldType->isDependentType()) {
// Can't check init for dependent type.
} else if (FieldType->isRecordType()) {
// Member is a record (struct/union/class), so pass the initializer
// arguments down to the record's constructor.
if (!HasDependentArg) {
- ASTOwningVector<&ActionBase::DeleteExpr> ConstructorArgs(*this);
-
C = PerformInitializationByConstructor(FieldType,
MultiExprArg(*this,
(void**)Args,
@@ -1243,10 +1242,10 @@ Sema::BuildBaseInitializer(QualType BaseType, TypeSourceInfo *BaseTInfo,
}
CXXConstructorDecl *C = 0;
+ ASTOwningVector<&ActionBase::DeleteExpr> ConstructorArgs(*this);
if (!BaseType->isDependentType() && !HasDependentArg) {
DeclarationName Name = Context.DeclarationNames.getCXXConstructorName(
Context.getCanonicalType(BaseType).getUnqualifiedType());
- ASTOwningVector<&ActionBase::DeleteExpr> ConstructorArgs(*this);
C = PerformInitializationByConstructor(BaseType,
MultiExprArg(*this,
OpenPOWER on IntegriCloud