|
16 | 16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | 17 | */ |
18 | 18 |
|
19 | | -#include "config.h" |
20 | 19 | #include "fixture.h" |
21 | 20 | #include "mathlib.h" |
22 | 21 | #include "standards.h" |
@@ -386,23 +385,19 @@ class TestMathLib : public TestFixture { |
386 | 385 | ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("02000000000000000000000"), INTERNAL, "Internal Error. MathLib::toBigNumber: out_of_range: 02000000000000000000000"); |
387 | 386 | ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("-02000000000000000000000"), INTERNAL, "Internal Error. MathLib::toBigNumber: out_of_range: -02000000000000000000000"); |
388 | 387 |
|
389 | | - // min/max and out-of-bounds - decimal |
390 | | - SUPPRESS_WARNING_CLANG_PUSH("-Wimplicitly-unsigned-literal") |
391 | | - SUPPRESS_WARNING_GCC_PUSH("-Woverflow") |
| 388 | + // min/max and out-of-range - decimal |
392 | 389 | { |
393 | | - constexpr MathLib::bigint i = 18446744073709551615; |
| 390 | + constexpr MathLib::bigint i = 18446744073709551615ULL; |
394 | 391 | ASSERT_EQUALS(i, MathLib::toBigNumber(std::to_string(i))); |
395 | 392 | ASSERT_EQUALS(i, MathLib::toBigNumber("18446744073709551615")); |
396 | 393 | } |
397 | 394 | { |
398 | | - constexpr MathLib::bigint i = -18446744073709551615; |
| 395 | + constexpr MathLib::bigint i = -18446744073709551615ULL; |
399 | 396 | ASSERT_EQUALS(i, MathLib::toBigNumber(std::to_string(i))); |
400 | 397 | ASSERT_EQUALS(i, MathLib::toBigNumber("-18446744073709551615")); |
401 | 398 | } |
402 | | - SUPPRESS_WARNING_GCC_POP |
403 | | - SUPPRESS_WARNING_CLANG_POP |
404 | 399 |
|
405 | | - ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigNumber: out_of_range: 18446744073709551616"); |
| 400 | + ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigNumber: out_of_range: 18446744073709551616"); |
406 | 401 | ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("-18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigNumber: out_of_range: -18446744073709551616"); |
407 | 402 |
|
408 | 403 | ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigNumber("invalid"), INTERNAL, "Internal Error. MathLib::toBigNumber: invalid_argument: invalid"); |
@@ -562,23 +557,19 @@ class TestMathLib : public TestFixture { |
562 | 557 | ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("02000000000000000000000"), INTERNAL, "Internal Error. MathLib::toBigUNumber: out_of_range: 02000000000000000000000"); |
563 | 558 | ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("-02000000000000000000000"), INTERNAL, "Internal Error. MathLib::toBigUNumber: out_of_range: -02000000000000000000000"); |
564 | 559 |
|
565 | | - // min/max and out-of-bounds - decimal |
566 | | - SUPPRESS_WARNING_CLANG_PUSH("-Wimplicitly-unsigned-literal") |
567 | | - SUPPRESS_WARNING_GCC_PUSH("-Woverflow") |
| 560 | + // min/max and out-of-range - decimal |
568 | 561 | { |
569 | | - constexpr MathLib::biguint u = 18446744073709551615; |
| 562 | + constexpr MathLib::biguint u = 18446744073709551615ULL; |
570 | 563 | ASSERT_EQUALS(u, MathLib::toBigUNumber(std::to_string(u))); |
571 | 564 | ASSERT_EQUALS(u, MathLib::toBigUNumber("18446744073709551615")); |
572 | 565 | } |
573 | 566 | { |
574 | | - constexpr MathLib::biguint u = -18446744073709551615; |
| 567 | + constexpr MathLib::biguint u = -18446744073709551615ULL; |
575 | 568 | ASSERT_EQUALS(u, MathLib::toBigUNumber(std::to_string(u))); |
576 | 569 | ASSERT_EQUALS(u, MathLib::toBigUNumber("-18446744073709551615")); |
577 | 570 | } |
578 | | - SUPPRESS_WARNING_GCC_POP |
579 | | - SUPPRESS_WARNING_CLANG_POP |
580 | 571 |
|
581 | | - ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigUNumber: out_of_range: 18446744073709551616"); |
| 572 | + ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigUNumber: out_of_range: 18446744073709551616"); |
582 | 573 | ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("-18446744073709551616"), INTERNAL, "Internal Error. MathLib::toBigUNumber: out_of_range: -18446744073709551616"); |
583 | 574 |
|
584 | 575 | ASSERT_THROW_INTERNAL_EQUALS(MathLib::toBigUNumber("invalid"), INTERNAL, "Internal Error. MathLib::toBigUNumber: invalid_argument: invalid"); |
|
0 commit comments