From 95c3b8a8def04c7725d6e8b3523d28be7c48046c Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 18 Aug 2024 22:45:26 +0100 Subject: [PATCH] Move assert to `else` branch --- src/llvm_backend_stmt.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/llvm_backend_stmt.cpp b/src/llvm_backend_stmt.cpp index 8f1c3a123..dc577308f 100644 --- a/src/llvm_backend_stmt.cpp +++ b/src/llvm_backend_stmt.cpp @@ -1574,9 +1574,14 @@ gb_internal void lb_store_type_case_implicit(lbProcedure *p, Ast *clause, lbValu GB_ASSERT(e != nullptr); if (e->flags & EntityFlag_Value) { // by value - GB_ASSERT(are_types_identical(e->type, value.type)); - lbAddr x = lb_add_local(p, e->type, e, false); - lb_addr_store(p, x, value); + if (are_types_identical(e->type, value.type)) { + lbAddr x = lb_add_local(p, e->type, e, false); + lb_addr_store(p, x, value); + } else { + GB_ASSERT(are_types_identical(type_deref(e->type), value.type)); + lbAddr x = lb_add_local(p, type_deref(e->type), e, false); + lb_addr_store(p, x, value); + } } else { if (!is_default_case) { Type *clause_type = e->type;