From: Rico Tzschichholz Date: Fri, 18 Oct 2019 22:12:26 +0000 (+0200) Subject: codegen: Use alternative for g_free in POSIX profile X-Git-Tag: 0.47.1~64 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=f14177023fb2d6faf75a74371a8dba083d4d9645;p=thirdparty%2Fvala.git codegen: Use alternative for g_free in POSIX profile --- diff --git a/codegen/valaccodearraymodule.vala b/codegen/valaccodearraymodule.vala index e609a1031..e71f41d70 100644 --- a/codegen/valaccodearraymodule.vala +++ b/codegen/valaccodearraymodule.vala @@ -243,7 +243,12 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule { ccode.close (); - var carrfree = new CCodeFunctionCall (new CCodeIdentifier ("g_free")); + CCodeFunctionCall carrfree; + if (context.profile == Profile.POSIX) { + carrfree = new CCodeFunctionCall (new CCodeIdentifier ("free")); + } else { + carrfree = new CCodeFunctionCall (new CCodeIdentifier ("g_free")); + } carrfree.add_argument (new CCodeIdentifier ("array")); ccode.add_expression (carrfree); @@ -316,7 +321,12 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule { ccall.add_argument (new CCodeIdentifier ("destroy_func")); ccode.add_expression (ccall); - var carrfree = new CCodeFunctionCall (new CCodeIdentifier ("g_free")); + CCodeFunctionCall carrfree; + if (context.profile == Profile.POSIX) { + carrfree = new CCodeFunctionCall (new CCodeIdentifier ("free")); + } else { + carrfree = new CCodeFunctionCall (new CCodeIdentifier ("g_free")); + } carrfree.add_argument (new CCodeIdentifier ("array")); ccode.add_expression (carrfree); diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index ddce144e1..d3f4f416d 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -3200,7 +3200,12 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { ccode.add_expression (destroy_call); } - var free_call = new CCodeFunctionCall (new CCodeIdentifier ("g_free")); + CCodeFunctionCall free_call; + if (context.profile == Profile.POSIX) { + free_call = new CCodeFunctionCall (new CCodeIdentifier ("free")); + } else { + free_call = new CCodeFunctionCall (new CCodeIdentifier ("g_free")); + } free_call.add_argument (new CCodeIdentifier ("self")); ccode.add_expression (free_call); @@ -3308,7 +3313,11 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { if (type.type_symbol is Struct && ((Struct) type.type_symbol).is_disposable ()) { unref_function = generate_free_func_wrapper (type); } else { - unref_function = "g_free"; + if (context.profile == Profile.POSIX) { + unref_function = "free"; + } else { + unref_function = "g_free"; + } } } } else if (type is EnumValueType) {