From 8e340d1d9d9b097e90efed005ac75125062c9377 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Thu, 17 Oct 2019 09:01:39 +0000 Subject: [PATCH] Try to fix the assert in Alignment::alignAddr to work on 32-bit Hopefully fixing the AlignmentDeathTest.AlignAddr failures (e.g. at http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/10925) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375090 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/Alignment.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/llvm/Support/Alignment.h b/include/llvm/Support/Alignment.h index 6925cb52d00..72fad87dd0d 100644 --- a/include/llvm/Support/Alignment.h +++ b/include/llvm/Support/Alignment.h @@ -183,7 +183,8 @@ inline uint64_t alignTo(uint64_t Size, MaybeAlign A) { /// Aligns `Addr` to `Alignment` bytes, rounding up. inline uintptr_t alignAddr(const void *Addr, Align Alignment) { uintptr_t ArithAddr = reinterpret_cast(Addr); - assert(ArithAddr + Alignment.value() - 1 >= ArithAddr && "Overflow"); + assert(static_cast(ArithAddr + Alignment.value() - 1) >= + ArithAddr && "Overflow"); return alignTo(ArithAddr, Alignment); } -- 2.49.0