Minor refactoring of my last patch.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80847 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp
index a0b6e2c..6a3dfc9 100644
--- a/lib/Sema/SemaDeclCXX.cpp
+++ b/lib/Sema/SemaDeclCXX.cpp
@@ -1015,12 +1015,12 @@
       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 &&