avoid some implicit conversions#270
Closed
firewave wants to merge 3 commits intocppcheck-opensource:masterfrom
Closed
avoid some implicit conversions#270firewave wants to merge 3 commits intocppcheck-opensource:masterfrom
firewave wants to merge 3 commits intocppcheck-opensource:masterfrom
Conversation
danmar
reviewed
Sep 2, 2022
| // The UTF-16 BOM is 0xfffe or 0xfeff. | ||
| if (ch1 >= 0xfe) { | ||
| const unsigned short bom = (static_cast<unsigned char>(istr.get()) << 8); | ||
| const unsigned short bom = static_cast<unsigned short>((static_cast<unsigned char>(istr.get()) << 8)); |
Collaborator
There was a problem hiding this comment.
I don't see that this change improves the readability or makes the code more robust.
Collaborator
Author
There was a problem hiding this comment.
It makes the implicit conversions explicit so you know what actually happens. If possible the code should be changed to avoid these. Since those might not be straight-forward I did not attempt this yet.
Collaborator
There was a problem hiding this comment.
I just don't agree. The code is longer and I don't see that it makes the code easier. On the contrary..
Collaborator
There was a problem hiding this comment.
The original code is shorter and 100% safe. I consider it a false positive from the compiler to warn about this. There can be no loss of precision.
…warning for production code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This does not change any types. It just makes implicit conversions explicit.
Here's the warnings in question for reference:
And an example for the warnings with the assertions: