From 6e1da365038856d9fbff690f187dc0a5c0933440 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Fri, 10 Mar 2023 19:38:15 +0100 Subject: [PATCH] x86_64: PtrSize.fromSize() should take into account nonexact sizes too --- src/arch/x86_64/bits.zig | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/arch/x86_64/bits.zig b/src/arch/x86_64/bits.zig index b6ac9ec5a8..1828cdc08f 100644 --- a/src/arch/x86_64/bits.zig +++ b/src/arch/x86_64/bits.zig @@ -418,14 +418,18 @@ pub const Memory = union(enum) { tbyte, pub fn fromSize(size: u32) PtrSize { - return switch (size) { - 1 => .byte, - 2 => .word, - 4 => .dword, - 8 => .qword, - 10 => .tbyte, - else => unreachable, - }; + return if (size <= 1) + .byte + else if (size <= 2) + .word + else if (size <= 4) + .dword + else if (size <= 8) + .qword + else if (size == 10) + .tbyte + else + unreachable; } pub fn fromBitSize(bit_size: u64) PtrSize {