diff options
author | Douglas Gregor <dgregor@apple.com> | 2012-04-23 16:42:52 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2012-04-23 16:42:52 +0000 |
commit | e656b8397f05fd1b7c4a735372f79a52f4e32be5 (patch) | |
tree | db21eaa6b9b730da8de6b7e52543cf6e60a01fa3 /lib/Sema/SemaType.cpp | |
parent | 9f99d06e0d22380b9d1f0609a083dbfbd8b37c10 (diff) |
Teach RequireCompleteType about multi-dimensional arrays. Fixes
<rdar://problem/11284902>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155356 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaType.cpp')
-rw-r--r-- | lib/Sema/SemaType.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index d0906ded0c..1b95f05c79 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -4195,7 +4195,8 @@ bool Sema::RequireCompleteType(SourceLocation Loc, QualType T, // class template specialization, or an array with known size of such, // try to instantiate it. QualType MaybeTemplate = T; - if (const ConstantArrayType *Array = Context.getAsConstantArrayType(T)) + while (const ConstantArrayType *Array + = Context.getAsConstantArrayType(MaybeTemplate)) MaybeTemplate = Array->getElementType(); if (const RecordType *Record = MaybeTemplate->getAs<RecordType>()) { if (ClassTemplateSpecializationDecl *ClassTemplateSpec |