From 0190f909799f51762d49c41980ad4718c324b5eb Mon Sep 17 00:00:00 2001 From: Tetralux Date: Fri, 28 Feb 2020 12:22:30 +0000 Subject: [PATCH] Fix mem.align_backward when pointer is already aligned --- core/mem/mem.odin | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/core/mem/mem.odin b/core/mem/mem.odin index 6dd4e9c27..36313e95b 100644 --- a/core/mem/mem.odin +++ b/core/mem/mem.odin @@ -186,9 +186,7 @@ align_backward :: inline proc(ptr: rawptr, align: uintptr) -> rawptr { align_backward_uintptr :: proc(ptr, align: uintptr) -> uintptr { assert(is_power_of_two(align)); - - ptr := rawptr(ptr - align); - return uintptr(align_forward(ptr, align)); + return align_forward_uintptr(ptr - align + 1, align); } align_backward_int :: inline proc(ptr, align: int) -> int {