aboutsummaryrefslogtreecommitdiff
path: root/src/type.zig
diff options
context:
space:
mode:
authorkcbanner <kcbanner@gmail.com>2023-11-10 23:47:04 -0500
committerMatthew Lugg <mlugg@mlugg.co.uk>2023-11-11 13:11:51 +0000
commit3fc6a2f11399e84b9cfa4cfef65ef40aa6de173b (patch)
treea92348ff78c2e73f9411498dd4f063a1478995aa /src/type.zig
parent63e5476450bfcec4aa8417e9ea5a3006b2a688a0 (diff)
downloadzig-3fc6a2f11399e84b9cfa4cfef65ef40aa6de173b.tar.gz
zig-3fc6a2f11399e84b9cfa4cfef65ef40aa6de173b.zip
sema: pass sema through if available for the array_type case in bitSizeAdvanced
Diffstat (limited to 'src/type.zig')
-rw-r--r--src/type.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/type.zig b/src/type.zig
index 709b115e09..43de38b905 100644
--- a/src/type.zig
+++ b/src/type.zig
@@ -1519,7 +1519,10 @@ pub const Type = struct {
const len = array_type.len + @intFromBool(array_type.sentinel != .none);
if (len == 0) return 0;
const elem_ty = array_type.child.toType();
- const elem_size = @max(elem_ty.abiAlignment(mod).toByteUnits(0), elem_ty.abiSize(mod));
+ const elem_size = @max(
+ (try elem_ty.abiAlignmentAdvanced(mod, strat)).scalar.toByteUnits(0),
+ (try elem_ty.abiSizeAdvanced(mod, strat)).scalar,
+ );
if (elem_size == 0) return 0;
const elem_bit_size = try bitSizeAdvanced(elem_ty, mod, opt_sema);
return (len - 1) * 8 * elem_size + elem_bit_size;