aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_expr.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-08-18 11:45:27 +0100
committergingerBill <bill@gingerbill.org>2024-08-18 11:45:27 +0100
commit22a82e73d63a61e8a9acaf2dc5c9442131becb3d (patch)
tree8deb4bead24af777e464c29494e0065e7eb15e9d /src/llvm_backend_expr.cpp
parentbbb5593f87ce889b9517208ad82d5dfb53f395a6 (diff)
Fix #3976
Diffstat (limited to 'src/llvm_backend_expr.cpp')
-rw-r--r--src/llvm_backend_expr.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/llvm_backend_expr.cpp b/src/llvm_backend_expr.cpp
index 962082cae..2bbd48c1a 100644
--- a/src/llvm_backend_expr.cpp
+++ b/src/llvm_backend_expr.cpp
@@ -5116,8 +5116,9 @@ gb_internal lbAddr lb_build_addr_internal(lbProcedure *p, Ast *expr) {
a = lb_addr_get_ptr(p, addr);
}
- GB_ASSERT(is_type_array(expr->tav.type) || is_type_simd_vector(expr->tav.type));
- return lb_addr_swizzle(a, expr->tav.type, swizzle_count, swizzle_indices);
+ Type *type = type_deref(expr->tav.type);
+ GB_ASSERT(is_type_array(type) || is_type_simd_vector(type));
+ return lb_addr_swizzle(a, type, swizzle_count, swizzle_indices);
}
Selection sel = lookup_field(type, selector, false);