summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index a0b6e2c2f82..6a3dfc911f4 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -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 &&
OpenPOWER on IntegriCloud