You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are a few places in Parser.cpp that switch on the target ABI and then only handle Itanium and Microsoft. An assert is raised for unhandled ABIs.
The methods that do this are:
Parser::WalkVTable
Parser::GetDeclMangledName
Related, I'm unsure if this is a typo or deliberate but ConvertToClangTargetCXXABI uses TargetCXXABI::GenericARM for AppAbi::AArch64 instead of TargetCXXABI::GenericAArch64.
ConvertToClangTargetCXXABI
static clang::TargetCXXABI::Kind
ConvertToClangTargetCXXABI(CppSharp::CppParser::AST::CppAbi abi)
{
using namespace clang;
switch (abi)
{
case CppSharp::CppParser::AST::CppAbi::Itanium:
return TargetCXXABI::GenericItanium;
case CppSharp::CppParser::AST::CppAbi::Microsoft:
return TargetCXXABI::Microsoft;
case CppSharp::CppParser::AST::CppAbi::ARM:
return TargetCXXABI::GenericARM;
case CppSharp::CppParser::AST::CppAbi::AArch64:
return TargetCXXABI::GenericARM;
case CppSharp::CppParser::AST::CppAbi::iOS:
return TargetCXXABI::iOS;
case CppSharp::CppParser::AST::CppAbi::AppleARM64:
return TargetCXXABI::AppleARM64;
}
llvm_unreachable("Unsupported C++ ABI.");
}
The text was updated successfully, but these errors were encountered:
There are a few places in
Parser.cpp
that switch on the target ABI and then only handle Itanium and Microsoft. An assert is raised for unhandled ABIs.The methods that do this are:
Parser::WalkVTable
Parser::GetDeclMangledName
Related, I'm unsure if this is a typo or deliberate but
ConvertToClangTargetCXXABI
usesTargetCXXABI::GenericARM
forAppAbi::AArch64
instead ofTargetCXXABI::GenericAArch64
.ConvertToClangTargetCXXABI
The text was updated successfully, but these errors were encountered: