Skip to content

Commit 077f087

Browse files
committed
testmathlib.cpp: fixed literal overflow warnings
example: ``` test/testmathlib.cpp:393:43: error: integer constant is so large that it is unsigned [-Werror] 393 | constexpr MathLib::bigint i = 18446744073709551615; | ^~~~~~~~~~~~~~~~~~~~ ```
1 parent 1f04c8a commit 077f087

1 file changed

Lines changed: 6 additions & 14 deletions

File tree

test/testmathlib.cpp

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -387,22 +387,18 @@ class TestMathLib : public TestFixture {
387387
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("-02000000000000000000000"), INTERNAL, "Internal Error. MathLib::toBigNumber: out_of_range: -02000000000000000000000");
388388

389389
// min/max and out-of-bounds - decimal
390-
SUPPRESS_WARNING_CLANG_PUSH("-Wimplicitly-unsigned-literal")
391-
SUPPRESS_WARNING_GCC_PUSH("-Woverflow")
392390
{
393-
constexpr MathLib::bigint i = 18446744073709551615;
391+
constexpr MathLib::bigint i = 0xffffffff; // 18446744073709551615;
394392
ASSERT_EQUALS(i, MathLib::toBigNumber(std::to_string(i)));
395393
ASSERT_EQUALS(i, MathLib::toBigNumber("18446744073709551615"));
396394
}
397395
{
398-
constexpr MathLib::bigint i = -18446744073709551615;
396+
constexpr MathLib::bigint i = 1; // -18446744073709551615;
399397
ASSERT_EQUALS(i, MathLib::toBigNumber(std::to_string(i)));
400398
ASSERT_EQUALS(i, MathLib::toBigNumber("-18446744073709551615"));
401399
}
402-
SUPPRESS_WARNING_GCC_POP
403-
SUPPRESS_WARNING_CLANG_POP
404400

405-
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigNumber: out_of_range: 18446744073709551616");
401+
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigNumber: out_of_range: 18446744073709551616");
406402
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("-18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigNumber: out_of_range: -18446744073709551616");
407403

408404
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("invalid"), INTERNAL, "Internal Error. MathLib::toBigNumber: invalid_argument: invalid");
@@ -563,22 +559,18 @@ class TestMathLib : public TestFixture {
563559
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("-02000000000000000000000"), INTERNAL, "Internal Error. MathLib::toBigUNumber: out_of_range: -02000000000000000000000");
564560

565561
// min/max and out-of-bounds - decimal
566-
SUPPRESS_WARNING_CLANG_PUSH("-Wimplicitly-unsigned-literal")
567-
SUPPRESS_WARNING_GCC_PUSH("-Woverflow")
568562
{
569-
constexpr MathLib::biguint u = 18446744073709551615;
563+
constexpr MathLib::biguint u = 0xffffffffffffffff; // 18446744073709551615;
570564
ASSERT_EQUALS(u, MathLib::toBigUNumber(std::to_string(u)));
571565
ASSERT_EQUALS(u, MathLib::toBigUNumber("18446744073709551615"));
572566
}
573567
{
574-
constexpr MathLib::biguint u = -18446744073709551615;
568+
constexpr MathLib::biguint u = 1; // -18446744073709551615;
575569
ASSERT_EQUALS(u, MathLib::toBigUNumber(std::to_string(u)));
576570
ASSERT_EQUALS(u, MathLib::toBigUNumber("-18446744073709551615"));
577571
}
578-
SUPPRESS_WARNING_GCC_POP
579-
SUPPRESS_WARNING_CLANG_POP
580572

581-
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigUNumber: out_of_range: 18446744073709551616");
573+
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigUNumber: out_of_range: 18446744073709551616");
582574
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("-18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigUNumber: out_of_range: -18446744073709551616");
583575

584576
ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("invalid"), INTERNAL, "Internal Error. MathLib::toBigUNumber: invalid_argument: invalid");

0 commit comments

Comments
 (0)