[cfe-commits] r92165 - /cfe/trunk/lib/Sema/SemaDeclCXX.cpp

Eli Friedman eli.friedman at gmail.com
Fri Dec 25 15:59:21 PST 2009


Author: efriedma
Date: Fri Dec 25 17:59:21 2009
New Revision: 92165

URL: http://llvm.org/viewvc/llvm-project?rev=92165&view=rev
Log:
Attempted fix for PR5884; this code will be dead soon, but this fix should
help for the moment.


Modified:
    cfe/trunk/lib/Sema/SemaDeclCXX.cpp

Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=92165&r1=92164&r2=92165&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclCXX.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclCXX.cpp Fri Dec 25 17:59:21 2009
@@ -1114,14 +1114,13 @@
   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 @@
   }
 
   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, 





More information about the cfe-commits mailing list