aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_expr.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-05-16 17:15:38 +0100
committergingerBill <bill@gingerbill.org>2024-05-16 17:15:38 +0100
commit575b268e88b04205ac01e8837c402c23f3fce0d0 (patch)
treea0d5d361ba84077fb5d9b7126e070b732e1b2b3d /src/llvm_backend_expr.cpp
parent7cf62f00c34b98cc2f8acab75d5259ff4fc2c6f6 (diff)
Fix more #soa changes
Diffstat (limited to 'src/llvm_backend_expr.cpp')
-rw-r--r--src/llvm_backend_expr.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/llvm_backend_expr.cpp b/src/llvm_backend_expr.cpp
index 934f59d9a..c12489598 100644
--- a/src/llvm_backend_expr.cpp
+++ b/src/llvm_backend_expr.cpp
@@ -4993,6 +4993,9 @@ gb_internal lbAddr lb_build_addr_internal(lbProcedure *p, Ast *expr) {
if (sub_sel.index.count > 0) {
item = lb_emit_deep_field_gep(p, item, sub_sel);
}
+ // make sure it's ^T and not [^]T
+ item.type = alloc_type_multi_pointer_to_pointer(item.type);
+
return lb_addr(item);
} else if (addr.kind == lbAddr_Swizzle) {
GB_ASSERT(sel.index.count > 0);