diff options
| author | Chris Lattner <clattner@nondot.org> | 2021-10-06 09:53:50 -0700 | 
|---|---|---|
| committer | Chris Lattner <clattner@nondot.org> | 2021-10-06 12:37:53 -0700 | 
| commit | ad37a45a2e137fe05591f3fe7d23b5b921e7ff1d (patch) | |
| tree | 9d5df793aa3e74721d73eb67bad5d23218f534af /llvm/unittests/ADT/APIntTest.cpp | |
| parent | 8c08f21b6041d683b9466e463a5358c4d4fcac19 (diff) | |
| download | llvm-ad37a45a2e137fe05591f3fe7d23b5b921e7ff1d.zip llvm-ad37a45a2e137fe05591f3fe7d23b5b921e7ff1d.tar.gz llvm-ad37a45a2e137fe05591f3fe7d23b5b921e7ff1d.tar.bz2 | |
[APInt] Fix isAllOnes and extractBits for zero width values.
isAllOnes() should return true for zero bit values because
there are no zeros in it.
Thanks to Jay Foad for pointing this out.
Differential Revision: https://reviews.llvm.org/D111241
Diffstat (limited to 'llvm/unittests/ADT/APIntTest.cpp')
| -rw-r--r-- | llvm/unittests/ADT/APIntTest.cpp | 2 | 
1 files changed, 2 insertions, 0 deletions
| diff --git a/llvm/unittests/ADT/APIntTest.cpp b/llvm/unittests/ADT/APIntTest.cpp index 59a8f4c..83bbc5e 100644 --- a/llvm/unittests/ADT/APIntTest.cpp +++ b/llvm/unittests/ADT/APIntTest.cpp @@ -2948,6 +2948,7 @@ TEST(APIntTest, ZeroWidth) {    // Methods like getLowBitsSet work with zero bits.    EXPECT_EQ(0U, APInt::getLowBitsSet(0, 0).getBitWidth());    EXPECT_EQ(0U, APInt::getSplat(0, ZW).getBitWidth()); +  EXPECT_EQ(0U, APInt(4, 10).extractBits(0, 2).getBitWidth());    // Logical operators.    ZW |= ZW2; @@ -2990,6 +2991,7 @@ TEST(APIntTest, ZeroWidth) {    EXPECT_EQ(0U, ZW.getLoBits(0).getBitWidth());    EXPECT_EQ(0, ZW.zext(4));    EXPECT_EQ(0U, APInt(4, 3).trunc(0).getBitWidth()); +  EXPECT_TRUE(ZW.isAllOnes());    SmallString<42> STR;    ZW.toStringUnsigned(STR); | 
