-
Notifications
You must be signed in to change notification settings - Fork 541
Missing implementations for GenericAArch64 ABI #1828
Copy link
Copy link
Closed
Description
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::WalkVTableParser::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.");
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels