From ba4d83af3e58ce2a34ccb945a297211333fd904c Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Tue, 10 Sep 2019 17:20:48 +0200 Subject: Resolve lazy arguments passed to @compileLog Closes #3193 --- src/ir.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/ir.cpp') diff --git a/src/ir.cpp b/src/ir.cpp index 56a12d2438..f29afdcf7b 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -19735,6 +19735,11 @@ static IrInstruction *ir_analyze_instruction_compile_log(IrAnalyze *ira, IrInstr if (type_is_invalid(msg->value.type)) return ira->codegen->invalid_instruction; buf_resize(&buf, 0); + if (msg->value.special == ConstValSpecialLazy) { + // Resolve any lazy value that's passed, we need its value + if (ir_resolve_lazy(ira->codegen, msg->source_node, &msg->value)) + return ira->codegen->invalid_instruction; + } render_const_value(ira->codegen, &buf, &msg->value); const char *comma_str = (i != 0) ? ", " : ""; fprintf(stderr, "%s%s", comma_str, buf_ptr(&buf)); -- cgit v1.2.3