Browse Source

Add support for AArch64 C++ ABI.

pull/1823/head
Joao Matos 1 year ago
parent
commit
32964264bc
  1. 1
      src/AST/ASTContext.cs
  2. 7
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs
  3. 7
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs
  4. 7
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs
  5. 7
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs
  6. 7
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs
  7. 7
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs
  8. 1
      src/CppParser/Decl.h
  9. 4
      src/CppParser/Parser.cpp
  10. 1
      src/Generator/AST/VTables.cs
  11. 2
      src/Parser/ASTConverter.cs

1
src/AST/ASTContext.cs

@ -10,6 +10,7 @@ namespace CppSharp.AST @@ -10,6 +10,7 @@ namespace CppSharp.AST
Itanium,
Microsoft,
ARM,
AArch64,
iOS,
iOS64,
WebAssembly

7
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs

@ -6401,9 +6401,10 @@ namespace CppSharp @@ -6401,9 +6401,10 @@ namespace CppSharp
Itanium = 0,
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4,
WebAssembly = 5
AArch64 = 3,
iOS = 4,
iOS64 = 5,
WebAssembly = 6
}
public enum RecordArgABI

7
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs

@ -6401,9 +6401,10 @@ namespace CppSharp @@ -6401,9 +6401,10 @@ namespace CppSharp
Itanium = 0,
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4,
WebAssembly = 5
AArch64 = 3,
iOS = 4,
iOS64 = 5,
WebAssembly = 6
}
public enum RecordArgABI

7
src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs

@ -6401,9 +6401,10 @@ namespace CppSharp @@ -6401,9 +6401,10 @@ namespace CppSharp
Itanium = 0,
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4,
WebAssembly = 5
AArch64 = 3,
iOS = 4,
iOS64 = 5,
WebAssembly = 6
}
public enum RecordArgABI

7
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs

@ -6401,9 +6401,10 @@ namespace CppSharp @@ -6401,9 +6401,10 @@ namespace CppSharp
Itanium = 0,
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4,
WebAssembly = 5
AArch64 = 3,
iOS = 4,
iOS64 = 5,
WebAssembly = 6
}
public enum RecordArgABI

7
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs

@ -6401,9 +6401,10 @@ namespace CppSharp @@ -6401,9 +6401,10 @@ namespace CppSharp
Itanium = 0,
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4,
WebAssembly = 5
AArch64 = 3,
iOS = 4,
iOS64 = 5,
WebAssembly = 6
}
public enum RecordArgABI

7
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs

@ -6401,9 +6401,10 @@ namespace CppSharp @@ -6401,9 +6401,10 @@ namespace CppSharp
Itanium = 0,
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4,
WebAssembly = 5
AArch64 = 3,
iOS = 4,
iOS64 = 5,
WebAssembly = 6
}
public enum RecordArgABI

1
src/CppParser/Decl.h

@ -471,6 +471,7 @@ namespace CppSharp @@ -471,6 +471,7 @@ namespace CppSharp
Itanium,
Microsoft,
ARM,
AArch64,
iOS,
iOS64,
WebAssembly

4
src/CppParser/Parser.cpp

@ -100,6 +100,8 @@ static CppAbi GetClassLayoutAbi(clang::TargetCXXABI::Kind abi) @@ -100,6 +100,8 @@ static CppAbi GetClassLayoutAbi(clang::TargetCXXABI::Kind abi)
return CppAbi::Itanium;
case clang::TargetCXXABI::GenericARM:
return CppAbi::ARM;
case clang::TargetCXXABI::GenericAArch64:
return CppAbi::AArch64;
case clang::TargetCXXABI::iOS:
return CppAbi::iOS;
case clang::TargetCXXABI::AppleARM64:
@ -231,6 +233,8 @@ ConvertToClangTargetCXXABI(CppSharp::CppParser::AST::CppAbi abi) @@ -231,6 +233,8 @@ ConvertToClangTargetCXXABI(CppSharp::CppParser::AST::CppAbi abi)
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::iOS64:

1
src/Generator/AST/VTables.cs

@ -15,6 +15,7 @@ namespace CppSharp.AST @@ -15,6 +15,7 @@ namespace CppSharp.AST
case CppAbi.Microsoft:
return GatherVTableMethodsMS(@class);
case CppAbi.Itanium:
default:
return GatherVTableMethodsItanium(@class);
}

2
src/Parser/ASTConverter.cs

@ -1719,6 +1719,8 @@ namespace CppSharp @@ -1719,6 +1719,8 @@ namespace CppSharp
return AST.CppAbi.Microsoft;
case CppAbi.ARM:
return AST.CppAbi.ARM;
case CppAbi.AArch64:
return AST.CppAbi.AArch64;
case CppAbi.iOS:
return AST.CppAbi.iOS;
case CppAbi.iOS64:

Loading…
Cancel
Save