diff --git a/clang/lib/AST/TypePrinter.cpp b/clang/lib/AST/TypePrinter.cpp index 251db97c7db083..749a3e25d28a4e 100644 --- a/clang/lib/AST/TypePrinter.cpp +++ b/clang/lib/AST/TypePrinter.cpp @@ -242,13 +242,16 @@ bool TypePrinter::canPrefixQualifiers(const Type *T, T->isObjCQualifiedIdType() || T->isObjCQualifiedClassType(); break; + case Type::DependentSizedArray: + NeedARCStrongQualifier = true; + LLVM_FALLTHROUGH; + case Type::ConstantArray: case Type::IncompleteArray: return canPrefixQualifiers( cast(UnderlyingType)->getElementType().getTypePtr(), NeedARCStrongQualifier); case Type::VariableArray: - case Type::DependentSizedArray: NeedARCStrongQualifier = true; LLVM_FALLTHROUGH; diff --git a/clang/test/AST/ast-dump-array.cpp b/clang/test/AST/ast-dump-array.cpp index fe7875ec95c90c..2e94f7769e0bd7 100644 --- a/clang/test/AST/ast-dump-array.cpp +++ b/clang/test/AST/ast-dump-array.cpp @@ -23,5 +23,6 @@ class array { using array_T_size = T[Size]; // CHECK: `-DependentSizedArrayType 0x{{[^ ]*}} 'T [Size]' dependent + using const_array_T_size = const T[Size]; + // CHECK: `-DependentSizedArrayType 0x{{[^ ]*}} 'const T [Size]' dependent }; -