aboutsummaryrefslogtreecommitdiff
path: root/src/tilde_expr.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-07-17 23:16:50 +0100
committergingerBill <bill@gingerbill.org>2023-07-17 23:16:50 +0100
commit55733171c19aa53aebbe343d7541c3c5a1597c46 (patch)
tree896b6b8f7368b9aaa3134f0908b800598a25da2f /src/tilde_expr.cpp
parent988926b59d84aced0f5c4e5bf68d82f105f5d0da (diff)
Planning for multi-valued expressions in the tilde backend
Diffstat (limited to 'src/tilde_expr.cpp')
-rw-r--r--src/tilde_expr.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tilde_expr.cpp b/src/tilde_expr.cpp
index 4e43089b2..473baf763 100644
--- a/src/tilde_expr.cpp
+++ b/src/tilde_expr.cpp
@@ -1,4 +1,5 @@
gb_internal cgValue cg_flatten_value(cgProcedure *p, cgValue value) {
+ GB_ASSERT(value.kind != cgValue_Multi);
if (value.kind == cgValue_Symbol) {
GB_ASSERT(is_type_internally_pointer_like(value.type));
value = cg_value(tb_inst_get_symbol_address(p->func, value.symbol), value.type);
@@ -152,6 +153,9 @@ gb_internal cgValue cg_emit_transmute(cgProcedure *p, cgValue value, Type *type)
case cgValue_Symbol:
GB_PANIC("should be handled above");
break;
+ case cgValue_Multi:
+ GB_PANIC("cannot transmute multiple values at once");
+ break;
}
return value;