summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Support/ScaledNumber.h2
-rw-r--r--unittests/Support/ScaledNumberTest.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/include/llvm/Support/ScaledNumber.h b/include/llvm/Support/ScaledNumber.h
index 6a93623a8e..240d5b64aa 100644
--- a/include/llvm/Support/ScaledNumber.h
+++ b/include/llvm/Support/ScaledNumber.h
@@ -242,6 +242,8 @@ int compareImpl(uint64_t L, uint64_t R, int ScaleDiff);
/// for greater than.
template <class DigitsT>
int compare(DigitsT LDigits, int16_t LScale, DigitsT RDigits, int16_t RScale) {
+ static_assert(!std::numeric_limits<DigitsT>::is_signed, "expected unsigned");
+
// Check for zero.
if (!LDigits)
return RDigits ? -1 : 0;
diff --git a/unittests/Support/ScaledNumberTest.cpp b/unittests/Support/ScaledNumberTest.cpp
index f6d7a44754..4a274d7e50 100644
--- a/unittests/Support/ScaledNumberTest.cpp
+++ b/unittests/Support/ScaledNumberTest.cpp
@@ -285,7 +285,7 @@ TEST(ScaledNumberHelpersTest, getLgCeiling) {
EXPECT_EQ(INT32_MIN, getLgCeiling(UINT64_C(0), 1));
}
-TEST(ScaledNumberHelpersTest, Compare) {
+TEST(ScaledNumberHelpersTest, compare) {
EXPECT_EQ(0, compare(UINT32_C(0), 0, UINT32_C(0), 1));
EXPECT_EQ(0, compare(UINT32_C(0), 0, UINT32_C(0), -10));
EXPECT_EQ(0, compare(UINT32_C(0), 0, UINT32_C(0), 20));