diff options
Diffstat (limited to 'src/llvm_backend_expr.cpp')
| -rw-r--r-- | src/llvm_backend_expr.cpp | 5 |
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); |