diff options
Diffstat (limited to 'Sema/SemaDecl.cpp')
-rw-r--r-- | Sema/SemaDecl.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp index b81f3fe53e..c6f1203e68 100644 --- a/Sema/SemaDecl.cpp +++ b/Sema/SemaDecl.cpp @@ -526,6 +526,11 @@ bool Sema::CheckInitializerListTypes(InitListExpr*& IList, QualType &DeclType, ++startIndex; } else { RecordDecl* structDecl = DeclType->getAsRecordType()->getDecl(); + + // If the record is invalid, it's members can't be trusted. + if (structDecl->isInvalidDecl()) + return true; + // If structDecl is a forward declaration, this loop won't do anything; // That's okay, because an error should get printed out elsewhere. It // might be worthwhile to skip over the rest of the initializer, though. |