New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion #12770
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK b46d077
b46d077 looks fine, but shouldn't the static analyser be fixed if this is an incorrect warning? |
@JeremyRubin do you want to ACK this? |
@MarcoFalke Thanks for the utACK. Yes, I'll report this to the static analyser authors. |
Thanks. Looks like this can be closed then. |
utACK b46d077. |
I don't think this changes any behavior, but I think it might be more clear to apply the cast as such:
@MarcoFalke I think it's fine to do this even if it is technically a linter bug. It took me a few minutes to read specs of operators, integer conversion hierarchies, and such to be sure that the behavior was correct. |
…integer conversion
b46d077
to
9142dfe
Compare
Updated: Now applying the cast as @JeremyRubin suggested. Please re-review :-) |
utACK 9142dfe |
@JeremyRubin @dcousens @promag @donaloconnor Would you mind re-reviewing? :-) |
utACK 9142dfe :-) |
If you check the blame, you actually want @sipa to sign off on this one (he wrote that specific section). utack otherwise |
….) to clarify integer conversion 9142dfe Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion (practicalswift) Pull request description: Use explicit casting in cuckoocache's `compute_hashes(...)` to clarify integer conversion. I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion. At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-) Tree-SHA512: 0419ee31b422d2ffedbd1a100688ec0ff5b0c1690d6d92592f638ca8db07a21a9650cb467923108c6f14a38d2bf07d6e6c85d2d1d4b7da53ffe6919f94f32655
….) to clarify integer conversion Summary: 9142dfe Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion (practicalswift) Pull request description: Use explicit casting in cuckoocache's `compute_hashes(...)` to clarify integer conversion. I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion. At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-) Tree-SHA512: 0419ee31b422d2ffedbd1a100688ec0ff5b0c1690d6d92592f638ca8db07a21a9650cb467923108c6f14a38d2bf07d6e6c85d2d1d4b7da53ffe6919f94f32655 Backport of Core PR12770 bitcoin/bitcoin#12770 Test Plan: make check test_runner.py Reviewers: deadalnix, Fabien, jasonbcox, O1 Bitcoin ABC, #bitcoin_abc Reviewed By: Fabien, O1 Bitcoin ABC, #bitcoin_abc Differential Revision: https://reviews.bitcoinabc.org/D3932
….) to clarify integer conversion Summary: 9142dfea81 Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion (practicalswift) Pull request description: Use explicit casting in cuckoocache's `compute_hashes(...)` to clarify integer conversion. I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion. At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-) Tree-SHA512: 0419ee31b422d2ffedbd1a100688ec0ff5b0c1690d6d92592f638ca8db07a21a9650cb467923108c6f14a38d2bf07d6e6c85d2d1d4b7da53ffe6919f94f32655 Backport of Core PR12770 bitcoin/bitcoin#12770 Test Plan: make check test_runner.py Reviewers: deadalnix, Fabien, jasonbcox, O1 Bitcoin ABC, #bitcoin_abc Reviewed By: Fabien, O1 Bitcoin ABC, #bitcoin_abc Differential Revision: https://reviews.bitcoinabc.org/D3932
….) to clarify integer conversion Summary: 9142dfea81 Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion (practicalswift) Pull request description: Use explicit casting in cuckoocache's `compute_hashes(...)` to clarify integer conversion. I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion. At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-) Tree-SHA512: 0419ee31b422d2ffedbd1a100688ec0ff5b0c1690d6d92592f638ca8db07a21a9650cb467923108c6f14a38d2bf07d6e6c85d2d1d4b7da53ffe6919f94f32655 Backport of Core PR12770 bitcoin/bitcoin#12770 Test Plan: make check test_runner.py Reviewers: deadalnix, Fabien, jasonbcox, O1 Bitcoin ABC, #bitcoin_abc Reviewed By: Fabien, O1 Bitcoin ABC, #bitcoin_abc Differential Revision: https://reviews.bitcoinabc.org/D3932
….) to clarify integer conversion Summary: 9142dfea81 Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion (practicalswift) Pull request description: Use explicit casting in cuckoocache's `compute_hashes(...)` to clarify integer conversion. I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion. At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-) Tree-SHA512: 0419ee31b422d2ffedbd1a100688ec0ff5b0c1690d6d92592f638ca8db07a21a9650cb467923108c6f14a38d2bf07d6e6c85d2d1d4b7da53ffe6919f94f32655 Backport of Core PR12770 bitcoin/bitcoin#12770 Test Plan: make check test_runner.py Reviewers: deadalnix, Fabien, jasonbcox, O1 Bitcoin ABC, #bitcoin_abc Reviewed By: Fabien, O1 Bitcoin ABC, #bitcoin_abc Differential Revision: https://reviews.bitcoinabc.org/D3932
….) to clarify integer conversion Summary: 9142dfea81 Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion (practicalswift) Pull request description: Use explicit casting in cuckoocache's `compute_hashes(...)` to clarify integer conversion. I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion. At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-) Tree-SHA512: 0419ee31b422d2ffedbd1a100688ec0ff5b0c1690d6d92592f638ca8db07a21a9650cb467923108c6f14a38d2bf07d6e6c85d2d1d4b7da53ffe6919f94f32655 Backport of Core PR12770 bitcoin/bitcoin#12770 Test Plan: make check test_runner.py Reviewers: deadalnix, Fabien, jasonbcox, O1 Bitcoin ABC, #bitcoin_abc Reviewed By: Fabien, O1 Bitcoin ABC, #bitcoin_abc Differential Revision: https://reviews.bitcoinabc.org/D3932
…shes(...) to clarify integer conversion 9142dfe Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion (practicalswift) Pull request description: Use explicit casting in cuckoocache's `compute_hashes(...)` to clarify integer conversion. I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion. At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-) Tree-SHA512: 0419ee31b422d2ffedbd1a100688ec0ff5b0c1690d6d92592f638ca8db07a21a9650cb467923108c6f14a38d2bf07d6e6c85d2d1d4b7da53ffe6919f94f32655
…shes(...) to clarify integer conversion 9142dfe Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion (practicalswift) Pull request description: Use explicit casting in cuckoocache's `compute_hashes(...)` to clarify integer conversion. I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion. At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-) Tree-SHA512: 0419ee31b422d2ffedbd1a100688ec0ff5b0c1690d6d92592f638ca8db07a21a9650cb467923108c6f14a38d2bf07d6e6c85d2d1d4b7da53ffe6919f94f32655
Use explicit casting in cuckoocache's
compute_hashes(...)
to clarify integer conversion.I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion.
At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-)