diff --git a/build/LLVM.lua b/build/LLVM.lua index 373e41ee..a392ff15 100644 --- a/build/LLVM.lua +++ b/build/LLVM.lua @@ -195,8 +195,7 @@ function SetupLLVMLibs() "LLVMDebugInfoMSF", "LLVMBinaryFormat", "LLVMSupport", - "LLVMDemangle", - "LLVMHelloNew" + "LLVMDemangle" } filter(c) diff --git a/build/llvm/LLVM-commit b/build/llvm/LLVM-commit index 962728c3..88c24477 100644 --- a/build/llvm/LLVM-commit +++ b/build/llvm/LLVM-commit @@ -1 +1 @@ -0c8f9b8099fd0500cd885bc699924e20371014ff \ No newline at end of file +c40cea6f083a8a67ea950e058e16d37bb04e8c4b \ No newline at end of file diff --git a/src/CppParser/ParseExpr.cpp b/src/CppParser/ParseExpr.cpp index 841181e4..c175eba6 100644 --- a/src/CppParser/ParseExpr.cpp +++ b/src/CppParser/ParseExpr.cpp @@ -2074,7 +2074,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) _S->hasPlaceholderType = S->hasPlaceholderType(); _S->typeAsWritten = GetQualifiedType(S->getTypeAsWritten()); _S->isListInitialization = S->isListInitialization(); - _S->arg_size = S->arg_size(); + _S->arg_size = S->getNumArgs(); for (auto _E : S->arguments()) { auto _ES = WalkExpression(_E); diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index c70bd444..c8a54bb4 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -99,7 +99,7 @@ static CppAbi GetClassLayoutAbi(clang::TargetCXXABI::Kind abi) return CppAbi::ARM; case clang::TargetCXXABI::iOS: return CppAbi::iOS; - case clang::TargetCXXABI::iOS64: + case clang::TargetCXXABI::AppleARM64: return CppAbi::iOS64; default: llvm_unreachable("Unsupported C++ ABI kind"); @@ -229,7 +229,7 @@ ConvertToClangTargetCXXABI(CppSharp::CppParser::AST::CppAbi abi) case CppSharp::CppParser::AST::CppAbi::iOS: return TargetCXXABI::iOS; case CppSharp::CppParser::AST::CppAbi::iOS64: - return TargetCXXABI::iOS64; + return TargetCXXABI::AppleARM64; } llvm_unreachable("Unsupported C++ ABI."); @@ -3707,7 +3707,7 @@ AST::ExpressionObsolete* Parser::WalkVariableInitializerExpression(const clang:: return WalkExpressionObsolete(Expr); clang::Expr::EvalResult result; - if (Expr->EvaluateAsConstantExpr(result, clang::Expr::ConstExprUsage::EvaluateForCodeGen, c->getASTContext(), false)) + if (Expr->EvaluateAsConstantExpr(result, c->getASTContext())) { std::string s; llvm::raw_string_ostream out(s); @@ -4420,9 +4420,9 @@ static ArchType ConvertArchType(unsigned int archType) } template -static void ReadELFDependencies(const llvm::object::ELFFile* ELFFile, CppSharp::CppParser::NativeLibrary*& NativeLib) +static void ReadELFDependencies(const llvm::object::ELFFile& ELFFile, CppSharp::CppParser::NativeLibrary*& NativeLib) { - ELFDumper ELFDumper(ELFFile); + ELFDumper ELFDumper(&ELFFile); for (const auto& Dependency : ELFDumper.getNeededLibraries()) NativeLib->Dependencies.push_back(Dependency.str()); }