From 5ec6a0ea028cd26e9042d4d7a944d5b085f921a4 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 25 Mar 2020 21:00:02 -0400 Subject: fix an invalid free having to do with bound functions this should fix the drone CI failure --- src/ir.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/ir.cpp') diff --git a/src/ir.cpp b/src/ir.cpp index 46d936619f..da6a5cfcad 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -13028,6 +13028,9 @@ static IrInstGen *ir_const_fn(IrAnalyze *ira, IrInst *source_instr, ZigFn *fn_en static IrInstGen *ir_const_bound_fn(IrAnalyze *ira, IrInst *src_inst, ZigFn *fn_entry, IrInstGen *first_arg, IrInst *first_arg_src) { + // This is unfortunately required to avoid improperly freeing first_arg_src + ira_ref(ira); + IrInstGen *result = ir_const(ira, src_inst, get_bound_fn_type(ira->codegen, fn_entry)); result->value->data.x_bound_fn.fn = fn_entry; result->value->data.x_bound_fn.first_arg = first_arg; -- cgit v1.2.3