From be6ba293ef883237ef5847e1a3df05acc6bb7a22 Mon Sep 17 00:00:00 2001 From: Elisavet Sakellari Date: Tue, 2 Feb 2016 16:18:05 +0100 Subject: [PATCH] Implemented Import of a Dependent-sized array type. --- .../llvm/src/tools/clang/lib/AST/ASTImporter.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/interpreter/llvm/src/tools/clang/lib/AST/ASTImporter.cpp b/interpreter/llvm/src/tools/clang/lib/AST/ASTImporter.cpp index 2442e8ec25f12..2b4eac1b9847f 100644 --- a/interpreter/llvm/src/tools/clang/lib/AST/ASTImporter.cpp +++ b/interpreter/llvm/src/tools/clang/lib/AST/ASTImporter.cpp @@ -49,7 +49,7 @@ namespace clang { QualType VisitConstantArrayType(const ConstantArrayType *T); QualType VisitIncompleteArrayType(const IncompleteArrayType *T); QualType VisitVariableArrayType(const VariableArrayType *T); - // FIXME: DependentSizedArrayType + QualType VisitDependentSizedArrayType(const DependentSizedArrayType *T); // FIXME: DependentSizedExtVectorType QualType VisitVectorType(const VectorType *T); QualType VisitExtVectorType(const ExtVectorType *T); @@ -1561,6 +1561,19 @@ QualType ASTNodeImporter::VisitVariableArrayType(const VariableArrayType *T) { Brackets); } +QualType ASTNodeImporter::VisitDependentSizedArrayType( + const DependentSizedArrayType *T) { + QualType ToType = Importer.Import(T->getElementType()); + if (ToType.isNull()) + return QualType(); + + return + Importer.getToContext().getDependentSizedArrayType(ToType, T->getSizeExpr(), + T->getSizeModifier(), + T->getIndexTypeCVRQualifiers(), + T->getBracketsRange()); +} + QualType ASTNodeImporter::VisitVectorType(const VectorType *T) { QualType ToElementType = Importer.Import(T->getElementType()); if (ToElementType.isNull())