diff options
author | Nico Weber <nicolasweber@gmx.de> | 2016-02-19 02:51:07 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2016-02-19 02:51:07 +0000 |
commit | 344abaa026063ec1bf27082a2aea471a019ead71 (patch) | |
tree | 714085a253aa6e5051535d233988c5cd1bc1ae18 | |
parent | bf9cd17f12aec86b25f70cd1ea87239ae20652b4 (diff) | |
download | bcm5719-llvm-344abaa026063ec1bf27082a2aea471a019ead71.tar.gz bcm5719-llvm-344abaa026063ec1bf27082a2aea471a019ead71.zip |
Fix SemaTemplate/instantiate-field.cpp after r261297.
For templates, fields can have incomplete types:
template <class T>
struct A2 {
struct B;
B b;
};
Don't try to touch the DefinitionData of those fields.
llvm-svn: 261301
-rw-r--r-- | clang/lib/AST/DeclCXX.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp index c8edd5a1b4f..e84b91388fb 100644 --- a/clang/lib/AST/DeclCXX.cpp +++ b/clang/lib/AST/DeclCXX.cpp @@ -704,7 +704,7 @@ void CXXRecordDecl::addedMember(Decl *D) { if (!Field->hasInClassInitializer() && !Field->isMutable()) { if (CXXRecordDecl *FieldType = Field->getType()->getAsCXXRecordDecl()) { - if (!FieldType->allowConstDefaultInit()) + if (FieldType->hasDefinition() && !FieldType->allowConstDefaultInit()) data().HasUninitializedFields = true; } else { data().HasUninitializedFields = true; |