diff options
| author | gingerBill <bill@gingerbill.org> | 2024-08-19 12:19:45 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2024-08-19 12:19:45 +0100 |
| commit | 2a0785037b74972f52eddc131309d1e28ef3b8bb (patch) | |
| tree | 6f77084265cd4a16eb6d91f230206dff9456354d /src/llvm_backend_stmt.cpp | |
| parent | 34a9e20531dd29e1079c391f93c4a2809b94e09b (diff) | |
Fix `switch val in ptr`
Diffstat (limited to 'src/llvm_backend_stmt.cpp')
| -rw-r--r-- | src/llvm_backend_stmt.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/llvm_backend_stmt.cpp b/src/llvm_backend_stmt.cpp index dc577308f..f2fe4f7dc 100644 --- a/src/llvm_backend_stmt.cpp +++ b/src/llvm_backend_stmt.cpp @@ -1578,9 +1578,9 @@ gb_internal void lb_store_type_case_implicit(lbProcedure *p, Ast *clause, lbValu 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); + GB_ASSERT_MSG(are_types_identical(e->type, type_deref(value.type)), "%s", type_to_string(value.type)); + lbAddr x = lb_add_local(p, e->type, e, false); + lb_addr_store(p, x, lb_emit_load(p, value)); } } else { if (!is_default_case) { |