]> granicus.if.org Git - clang/commitdiff
Minor refactoring of my last patch.
authorFariborz Jahanian <fjahanian@apple.com>
Wed, 2 Sep 2009 23:11:48 +0000 (23:11 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Wed, 2 Sep 2009 23:11:48 +0000 (23:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80847 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDeclCXX.cpp

index a0b6e2c2f82d404db84b27d31a1cd9f996b1689f..6a3dfc911f428355d529a6ae2b0878a26a0e3d13 100644 (file)
@@ -1015,12 +1015,12 @@ void Sema::ActOnMemInitializers(DeclPtrTy ConstructorDecl,
       continue;
     FieldDecl *Field = Member->getMember();
     QualType FT = Context.getBaseElementType(Field->getType());
-    if (const RecordType* RT = FT->getAs<RecordType>()) {
-      CXXConstructorDecl *Ctor =
-        cast<CXXRecordDecl>(RT->getDecl())->getDefaultConstructor(Context);
-      if (Ctor && !FT->isDependentType())
+    if (FT->isDependentType())
+      continue;
+    if (const RecordType* RT = FT->getAs<RecordType>())
+      if (CXXConstructorDecl *Ctor =
+            cast<CXXRecordDecl>(RT->getDecl())->getDefaultConstructor(Context))
         MarkDeclarationReferenced(Ctor->getLocation(), Ctor);
-    }
   }
   if (Diags.getDiagnosticLevel(diag::warn_base_initialized) == 
       Diagnostic::Ignored &&