From 067a4f7cb1ce8b587d06ecf90936f3c8a197540c Mon Sep 17 00:00:00 2001 From: Christoffer Lerno Date: Thu, 1 Jan 2026 00:25:32 +0100 Subject: [PATCH] Fixed codegen for vec->array in the boolean case. --- src/compiler/llvm_codegen_expr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/llvm_codegen_expr.c b/src/compiler/llvm_codegen_expr.c index 9ce6cd516..52fa0fa8c 100644 --- a/src/compiler/llvm_codegen_expr.c +++ b/src/compiler/llvm_codegen_expr.c @@ -7070,13 +7070,13 @@ void llvm_emit_scalar_to_vector(GenContext *c, BEValue *value, Expr *expr) void llvm_emit_vec_to_array(GenContext *c, BEValue *value, Type *type) { - llvm_value_rvalue(c, value); + LLVMValueRef val = llvm_load_value_store(c, value); Type *to_type = type_lowering(type); LLVMValueRef array = llvm_get_undef(c, to_type); for (unsigned i = 0; i < to_type->array.len; i++) { - LLVMValueRef element = llvm_emit_extract_value(c, value->value, i); + LLVMValueRef element = llvm_emit_extract_value(c, val, i); array = llvm_emit_insert_value(c, array, element, i); } llvm_value_set(value, array, to_type);