refactor: Revert "disable self-assign warning for tests"
This reverts commit 53372f2176.
This commit is contained in:
2 files changed
-29
No files matched your search
@@ -580,20 +580,6 @@ BOOST_AUTO_TEST_CASE(conversion)
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(operator_with_self)
|
BOOST_AUTO_TEST_CASE(operator_with_self)
|
||||||
{
|
{
|
||||||
/* Clang 16 and earlier detects v -= v and v /= v as self-assignments
|
|
||||||
to 0 and 1 respectively.
|
|
||||||
See: https://github.com/llvm/llvm-project/issues/42469
|
|
||||||
and the fix in commit c5302325b2a62d77cf13dd16cd5c19141862fed0 .
|
|
||||||
|
|
||||||
This makes some sense for arithmetic classes, but could be considered a bug
|
|
||||||
elsewhere. Disable the warning here so that the code can be tested, but the
|
|
||||||
warning should remain on as there will likely always be a better way to
|
|
||||||
express this.
|
|
||||||
*/
|
|
||||||
#if defined(__clang__)
|
|
||||||
#pragma clang diagnostic push
|
|
||||||
#pragma clang diagnostic ignored "-Wself-assign-overloaded"
|
|
||||||
#endif
|
|
||||||
arith_uint256 v{2};
|
arith_uint256 v{2};
|
||||||
v *= v;
|
v *= v;
|
||||||
BOOST_CHECK_EQUAL(v, arith_uint256{4});
|
BOOST_CHECK_EQUAL(v, arith_uint256{4});
|
||||||
@@ -603,9 +589,6 @@ BOOST_AUTO_TEST_CASE(operator_with_self)
|
|||||||
BOOST_CHECK_EQUAL(v, arith_uint256{2});
|
BOOST_CHECK_EQUAL(v, arith_uint256{2});
|
||||||
v -= v;
|
v -= v;
|
||||||
BOOST_CHECK_EQUAL(v, arith_uint256{0});
|
BOOST_CHECK_EQUAL(v, arith_uint256{0});
|
||||||
#if defined(__clang__)
|
|
||||||
#pragma clang diagnostic pop
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
@@ -199,19 +199,7 @@ FUZZ_TARGET(muhash)
|
|||||||
},
|
},
|
||||||
[&] {
|
[&] {
|
||||||
// Test that dividing a MuHash by itself brings it back to its initial state
|
// Test that dividing a MuHash by itself brings it back to its initial state
|
||||||
|
|
||||||
// See note about clang + self-assignment in test/uint256_tests.cpp
|
|
||||||
#if defined(__clang__)
|
|
||||||
# pragma clang diagnostic push
|
|
||||||
# pragma clang diagnostic ignored "-Wself-assign-overloaded"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
muhash /= muhash;
|
muhash /= muhash;
|
||||||
|
|
||||||
#if defined(__clang__)
|
|
||||||
# pragma clang diagnostic pop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
muhash.Finalize(out);
|
muhash.Finalize(out);
|
||||||
out2 = initial_state_hash;
|
out2 = initial_state_hash;
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in new issue
Block a user