Browse Source

Added support for iOS and iOS 64-bits ABIs.

pull/355/head
triton 11 years ago
parent
commit
740a284323
  1. 4
      src/AST/ASTContext.cs
  2. 4
      src/Core/Parser/ASTConverter.cs
  3. 4
      src/CppParser/AST.h
  4. 4
      src/CppParser/Bindings/CLI/AST.h
  5. 4
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs
  6. 4
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/AST.cs
  7. 4
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs
  8. 17
      src/CppParser/Parser.cpp

4
src/AST/ASTContext.cs

@ -9,7 +9,9 @@ namespace CppSharp.AST @@ -9,7 +9,9 @@ namespace CppSharp.AST
{
Itanium,
Microsoft,
ARM
ARM,
iOS,
iOS64
}
/// <summary>

4
src/Core/Parser/ASTConverter.cs

@ -1222,6 +1222,10 @@ namespace CppSharp @@ -1222,6 +1222,10 @@ namespace CppSharp
return AST.CppAbi.Microsoft;
case CppAbi.ARM:
return AST.CppAbi.ARM;
case CppAbi.iOS:
return AST.CppAbi.iOS;
case CppAbi.iOS64:
return AST.CppAbi.iOS64;
default:
throw new ArgumentOutOfRangeException("abi");
}

4
src/CppParser/AST.h

@ -281,7 +281,9 @@ enum class CppAbi @@ -281,7 +281,9 @@ enum class CppAbi
{
Itanium,
Microsoft,
ARM
ARM,
iOS,
iOS64
};
enum class VTableComponentKind

4
src/CppParser/Bindings/CLI/AST.h

@ -230,7 +230,9 @@ namespace CppSharp @@ -230,7 +230,9 @@ namespace CppSharp
{
Itanium = 0,
Microsoft = 1,
ARM = 2
ARM = 2,
iOS = 3,
iOS64 = 4
};
public enum struct VTableComponentKind

4
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs

@ -153,7 +153,9 @@ namespace CppSharp @@ -153,7 +153,9 @@ namespace CppSharp
{
Itanium = 0,
Microsoft = 1,
ARM = 2
ARM = 2,
iOS = 3,
iOS64 = 4
}
public enum VTableComponentKind

4
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/AST.cs

@ -153,7 +153,9 @@ namespace CppSharp @@ -153,7 +153,9 @@ namespace CppSharp
{
Itanium = 0,
Microsoft = 1,
ARM = 2
ARM = 2,
iOS = 3,
iOS64 = 4
}
public enum VTableComponentKind

4
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs

@ -153,7 +153,9 @@ namespace CppSharp @@ -153,7 +153,9 @@ namespace CppSharp
{
Itanium = 0,
Microsoft = 1,
ARM = 2
ARM = 2,
iOS = 3,
iOS64 = 4
}
public enum VTableComponentKind

17
src/CppParser/Parser.cpp

@ -86,19 +86,6 @@ static std::string GetClangBuiltinIncludeDir() @@ -86,19 +86,6 @@ static std::string GetClangBuiltinIncludeDir()
//-----------------------------------//
static std::string GetCXXABIString(clang::TargetCXXABI::Kind Kind)
{
switch(Kind)
{
case clang::TargetCXXABI::GenericItanium:
return "itanium";
case clang::TargetCXXABI::Microsoft:
return "microsoft";
default:
llvm_unreachable("Unknown C++ ABI kind");
}
}
#ifdef _MSC_VER
std::vector<std::string> GetWindowsSystemIncludeDirs();
#endif
@ -116,6 +103,10 @@ ConvertToClangTargetCXXABI(CppSharp::CppParser::AST::CppAbi abi) @@ -116,6 +103,10 @@ ConvertToClangTargetCXXABI(CppSharp::CppParser::AST::CppAbi abi)
return TargetCXXABI::Microsoft;
case CppSharp::CppParser::AST::CppAbi::ARM:
return TargetCXXABI::GenericARM;
case CppSharp::CppParser::AST::CppAbi::iOS:
return TargetCXXABI::iOS;
case CppSharp::CppParser::AST::CppAbi::iOS64:
return TargetCXXABI::iOS64;
}
llvm_unreachable("Unsupported C++ ABI.");

Loading…
Cancel
Save