We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
e1 << e2
https://stackoverflow.com/questions/55673029/does-a-c-shift-expression-have-unsigned-type
It's a bug in Splint. Splint wrongly assumes that the type of e1 << e2 is ctype_wider(te1, te2). The correct type would be just te1. The buggy code starts here by using the same code path for the bitwise operators like &, | and ^, as well as for the << and >> operators. The actual bug is at the end of that code, which assumes that for all these bitwise binary operators, the return type is ctype_wider(te1, te2).
It's a bug in Splint. Splint wrongly assumes that the type of e1 << e2 is ctype_wider(te1, te2). The correct type would be just te1.
ctype_wider(te1, te2)
te1
The buggy code starts here by using the same code path for the bitwise operators like &, | and ^, as well as for the << and >> operators.
&
|
^
<<
>>
The actual bug is at the end of that code, which assumes that for all these bitwise binary operators, the return type is ctype_wider(te1, te2).
The text was updated successfully, but these errors were encountered:
Fixed by 5201227
Sorry, something went wrong.
devel/splint: fix type of signed shift expression
37a91d3
splintchecker/splint#13
No branches or pull requests
https://stackoverflow.com/questions/55673029/does-a-c-shift-expression-have-unsigned-type
The text was updated successfully, but these errors were encountered: