diff --git a/src/common_memory.cpp b/src/common_memory.cpp index cdf2281fe..4c77521e1 100644 --- a/src/common_memory.cpp +++ b/src/common_memory.cpp @@ -14,25 +14,16 @@ gb_internal gb_inline U const &bit_cast(V const &v) { return reinterpret_cast 0) { - i64 result = size + align-1; - return result - result%align; - } - return size; + i64 result = size + align-1; + return result - (i64)((u64)result%(u64)align); } gb_internal gb_inline isize align_formula_isize(isize size, isize align) { - if (align > 0) { - isize result = size + align-1; - return result - result%align; - } - return size; + isize result = size + align-1; + return result - (isize)((usize)result%(usize)align); } gb_internal gb_inline void *align_formula_ptr(void *ptr, isize align) { - if (align > 0) { - uintptr result = (cast(uintptr)ptr) + align-1; - return (void *)(result - result%align); - } - return ptr; + uintptr result = (cast(uintptr)ptr) + align-1; + return (void *)(result - result%align); }