summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2016-02-19 02:51:07 +0000
committerNico Weber <nicolasweber@gmx.de>2016-02-19 02:51:07 +0000
commit344abaa026063ec1bf27082a2aea471a019ead71 (patch)
tree714085a253aa6e5051535d233988c5cd1bc1ae18
parentbf9cd17f12aec86b25f70cd1ea87239ae20652b4 (diff)
downloadbcm5719-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.cpp2
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;
OpenPOWER on IntegriCloud