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 &&