zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit ba4d83af3e58ce2a34ccb945a297211333fd904c (tree)
parent e2c68fce89d7d308b445ed26025a674aff938151
Author: LemonBoy <thatlemon@gmail.com>
Date:   Tue, 10 Sep 2019 17:20:48 +0200

Resolve lazy arguments passed to @compileLog

Closes #3193

Diffstat:
Msrc/ir.cpp | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git 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));