https://bugs.winehq.org/show_bug.cgi?id=37482
--- Comment #2 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Michael Stefaniuc from comment #1)
I would say clang is misguided here. Not sure why it complains here as y = comparison ? foo : bar is the standard way of doing this and adding paranthesis would be bad style.
Can you please report it to them as false positive?
Ok, I think the program was misguided because the false branch is very long, thinking that some compiler could do things like:
y = (Origin.y > 1 ? Origin.y - 1 : itemheight) - 1 + Origin.y % itemheight y = (Origin.y > 1 ? Origin.y - 1 : itemheight - 1) + Origin.y % itemheight y = (Origin.y > 1 ? Origin.y - 1 : itemheight - 1 + Origin.y) % itemheight y = (Origin.y > 1 ? Origin.y - 1 : itemheight - 1 + Origin.y % itemheight)