From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Mon, 23 Dec 2024 22:56:29 -0800 Subject: [PATCH 32/33] MathExtras: fix minIntN() and maxIntN() assertions --- llvm/include/llvm/Support/MathExtras.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/include/llvm/Support/MathExtras.h b/llvm/include/llvm/Support/MathExtras.h index 38b1486c54be5102025192b3b90e86e54ab347c0..3141d443674735f334c5da934f891c113c31d582 100644 --- a/llvm/include/llvm/Support/MathExtras.h +++ b/llvm/include/llvm/Support/MathExtras.h @@ -196,7 +196,7 @@ inline constexpr uint64_t maxUIntN(uint64_t N) { /// Gets the minimum value for a N-bit signed integer. inline constexpr int64_t minIntN(int64_t N) { - assert(N <= 64 && "integer width out of range"); + assert(N >= 0 && N <= 64 && "integer width out of range"); if (N == 0) return 0; @@ -209,7 +209,7 @@ inline constexpr int64_t minIntN(int64_t N) { /// Gets the maximum value for a N-bit signed integer. inline constexpr int64_t maxIntN(int64_t N) { - assert(N <= 64 && "integer width out of range"); + assert(N >= 0 && N <= 64 && "integer width out of range"); // This relies on two's complement wraparound when N == 64, so we convert to // int64_t only at the very end to avoid UB.