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
diff --git a/include/llvm/Support/Alignment.h b/include/llvm/Support/Alignment.h
index 6925cb5..72fad87 100644
--- a/include/llvm/Support/Alignment.h
+++ b/include/llvm/Support/Alignment.h
@@ -183,7 +183,8 @@
 /// Aligns `Addr` to `Alignment` bytes, rounding up.
 inline uintptr_t alignAddr(const void *Addr, Align Alignment) {
   uintptr_t ArithAddr = reinterpret_cast<uintptr_t>(Addr);
-  assert(ArithAddr + Alignment.value() - 1 >= ArithAddr && "Overflow");
+  assert(static_cast<uintptr_t>(ArithAddr + Alignment.value() - 1) >=
+             ArithAddr && "Overflow");
   return alignTo(ArithAddr, Alignment);
 }