diff options
Diffstat (limited to 'test/src/stdbit/stdc_trailing_ones_ull_test.cpp')
-rw-r--r-- | test/src/stdbit/stdc_trailing_ones_ull_test.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/src/stdbit/stdc_trailing_ones_ull_test.cpp b/test/src/stdbit/stdc_trailing_ones_ull_test.cpp new file mode 100644 index 000000000000..38c5100efc06 --- /dev/null +++ b/test/src/stdbit/stdc_trailing_ones_ull_test.cpp @@ -0,0 +1,21 @@ +//===-- Unittests for stdc_trailing_ones_ull ------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "src/__support/CPP/limits.h" +#include "src/stdbit/stdc_trailing_ones_ull.h" +#include "test/UnitTest/Test.h" + +TEST(LlvmLibcStdcTrailingOnesUllTest, ALL) { + EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_ones_ull(ULLONG_MAX), + static_cast<unsigned>(ULLONG_WIDTH)); +} + +TEST(LlvmLibcStdcTrailingOnesUllTest, ZeroHot) { + for (unsigned i = 0U; i != ULLONG_WIDTH; ++i) + EXPECT_EQ(LIBC_NAMESPACE::stdc_trailing_ones_ull(~(1ULL << i)), i); +} |