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();