From c9e573927e5ae8ada8f41d6a943559ff13f4f666 Mon Sep 17 00:00:00 2001 From: triton Date: Tue, 7 May 2013 19:46:50 +0100 Subject: [PATCH] Added support for incomplete array types. --- src/Bridge/Type.cs | 3 ++- src/Parser/Parser.cpp | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Bridge/Type.cs b/src/Bridge/Type.cs index 4860ef8e..352065d4 100644 --- a/src/Bridge/Type.cs +++ b/src/Bridge/Type.cs @@ -181,7 +181,8 @@ namespace CppSharp public enum ArraySize { Constant, - Variable + Variable, + Incomplete } public ArrayType() diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp index 553a02f0..8a280eb4 100644 --- a/src/Parser/Parser.cpp +++ b/src/Parser/Parser.cpp @@ -818,6 +818,17 @@ CppSharp::Type^ Parser::WalkType(clang::QualType QualType, clang::TypeLoc* TL, return A; } + case Type::IncompleteArray: + { + auto AT = AST->getAsIncompleteArrayType(QualType); + + auto A = gcnew CppSharp::ArrayType(); + auto Next = TL->getNextTypeLoc(); + A->Type = WalkType(AT->getElementType(), &Next); + A->SizeType = CppSharp::ArrayType::ArraySize::Incomplete; + + return A; + } case Type::FunctionProto: { auto FP = Type->getAs();