diff --git a/src/Generator/Passes/HandleDefaultParamValuesPass.cs b/src/Generator/Passes/HandleDefaultParamValuesPass.cs index 092da9d6..f041f26f 100644 --- a/src/Generator/Passes/HandleDefaultParamValuesPass.cs +++ b/src/Generator/Passes/HandleDefaultParamValuesPass.cs @@ -28,6 +28,8 @@ namespace CppSharp.Passes if (CheckForDefaultPointer(desugared, parameter)) continue; + CheckFloatSyntax(desugared, parameter); + bool? defaultConstruct = CheckForDefaultConstruct(desugared, parameter.DefaultArgument); if (defaultConstruct == null || (!Driver.Options.MarshalCharAsManagedChar && @@ -53,6 +55,15 @@ namespace CppSharp.Passes return result; } + private void CheckFloatSyntax(Type desugared, Parameter parameter) + { + var builtin = desugared as BuiltinType; + if (builtin != null && builtin.Type == AST.PrimitiveType.Float && parameter.DefaultArgument.String.EndsWith(".F")) + { + parameter.DefaultArgument.String = parameter.DefaultArgument.String.Replace(".F", ".0F"); + } + } + private bool CheckForAnonExpression(Type desugared, Parameter parameter) { var cast = parameter.DefaultArgument as CastExpr;