diff options
-rw-r--r-- | lib/AST/DeclCXX.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/AST/DeclCXX.cpp b/lib/AST/DeclCXX.cpp index 70c7a1bd50..26a9c89188 100644 --- a/lib/AST/DeclCXX.cpp +++ b/lib/AST/DeclCXX.cpp @@ -540,8 +540,10 @@ CXXConstructorDecl::setBaseOrMemberInitializers( } } if (i == NumInitializers) { - // FIXME. What do we do with arrays? QualType FieldType = C.getCanonicalType((*Field)->getType()); + while (const ArrayType *AT = C.getAsArrayType(FieldType)) + FieldType = AT->getElementType(); + if (FieldType->getAsRecordType()) { CXXBaseOrMemberInitializer *Member = new CXXBaseOrMemberInitializer((*Field), 0, 0, SourceLocation()); |