From 4a3977e9a8a097e31933e06dd54e592f2d3a6295 Mon Sep 17 00:00:00 2001 From: Piotr Fusik Date: Thu, 29 Feb 2024 16:06:34 +0100 Subject: [c] Mark a leak. --- GenC.fu | 2 +- libfut.cpp | 2 +- libfut.cs | 2 +- libfut.js | 2 +- test/JsonElement.fu | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/GenC.fu b/GenC.fu index 9d459fc..2f89317 100644 --- a/GenC.fu +++ b/GenC.fu @@ -1953,7 +1953,7 @@ public class GenC : GenCCpp Write("_TryParse(&"); obj.Accept(this, FuPriority.Primary); Write(", "); - args[0].Accept(this, FuPriority.Argument); + WriteTemporaryOrExpr(args[0], FuPriority.Argument); if (obj.Type is FuIntegerType) WriteTryParseRadix(args); WriteChar(')'); diff --git a/libfut.cpp b/libfut.cpp index 56e09d3..4948af4 100644 --- a/libfut.cpp +++ b/libfut.cpp @@ -10839,7 +10839,7 @@ void GenC::writeTryParse(const FuExpr * obj, const std::vectoraccept(this, FuPriority::primary); write(", "); - (*args)[0]->accept(this, FuPriority::argument); + writeTemporaryOrExpr((*args)[0].get(), FuPriority::argument); if (dynamic_cast(obj->type.get())) writeTryParseRadix(args); writeChar(')'); diff --git a/libfut.cs b/libfut.cs index f52aa0e..bd15ce1 100644 --- a/libfut.cs +++ b/libfut.cs @@ -11140,7 +11140,7 @@ namespace Fusion Write("_TryParse(&"); obj.Accept(this, FuPriority.Primary); Write(", "); - args[0].Accept(this, FuPriority.Argument); + WriteTemporaryOrExpr(args[0], FuPriority.Argument); if (obj.Type is FuIntegerType) WriteTryParseRadix(args); WriteChar(')'); diff --git a/libfut.js b/libfut.js index 0507846..deae9b1 100644 --- a/libfut.js +++ b/libfut.js @@ -11525,7 +11525,7 @@ export class GenC extends GenCCpp this.write("_TryParse(&"); obj.accept(this, FuPriority.PRIMARY); this.write(", "); - args[0].accept(this, FuPriority.ARGUMENT); + this.#writeTemporaryOrExpr(args[0], FuPriority.ARGUMENT); if (obj.type instanceof FuIntegerType) this.writeTryParseRadix(args); this.writeChar(41); diff --git a/test/JsonElement.fu b/test/JsonElement.fu index 5d5119c..90f5c6e 100644 --- a/test/JsonElement.fu +++ b/test/JsonElement.fu @@ -352,7 +352,7 @@ public static class Test { public static bool Run() { - JsonElement# json; //FAIL: cl + JsonElement# json; //FAIL: c leak TODO; cl json = JsonElement.Parse("\"foo\""); if (!json.IsString() || json.GetString() != "foo") return false; -- cgit v1.2.3