Browse Source

Fixed generation bug for ARM ABI.

Closes #351.
pull/352/head
triton 11 years ago
parent
commit
d49be57467
  1. 4
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs
  2. 2
      src/Generator/Options.cs

4
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -2848,7 +2848,7 @@ namespace CppSharp.Generators.CSharp
} }
if (!function.HasIndirectReturnTypeParameter && if (!function.HasIndirectReturnTypeParameter &&
isInstanceMethod && Options.IsItaniumAbi) isInstanceMethod && Options.IsItaniumLikeAbi)
@params.Add("global::System.IntPtr instance"); @params.Add("global::System.IntPtr instance");
foreach (var param in function.Parameters) foreach (var param in function.Parameters)
@ -2861,7 +2861,7 @@ namespace CppSharp.Generators.CSharp
@params.Add(string.Format("{0} {1}", typeName, param.Name)); @params.Add(string.Format("{0} {1}", typeName, param.Name));
if (param.Kind == ParameterKind.IndirectReturnType && if (param.Kind == ParameterKind.IndirectReturnType &&
isInstanceMethod && Options.IsItaniumAbi) isInstanceMethod && Options.IsItaniumLikeAbi)
@params.Add("global::System.IntPtr instance"); @params.Add("global::System.IntPtr instance");
} }

2
src/Generator/Options.cs

@ -64,7 +64,7 @@ namespace CppSharp
public bool IgnoreParseWarnings; public bool IgnoreParseWarnings;
public bool IgnoreParseErrors; public bool IgnoreParseErrors;
public bool IsItaniumAbi { get { return Abi == CppAbi.Itanium; } } public bool IsItaniumLikeAbi { get { return Abi == CppAbi.Itanium || Abi == CppAbi.ARM; } }
public bool IsMicrosoftAbi { get { return Abi == CppAbi.Microsoft; } } public bool IsMicrosoftAbi { get { return Abi == CppAbi.Microsoft; } }
// Library options // Library options

Loading…
Cancel
Save