You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[builtins] Fix undefined behavior in negdi2.c and negti2.c
When compiling the builtins with the undefined behavior sanitizer and running testcases you end up with the following warning:
UBSan: negdi2.c:20:10: negation of -9223372036854775808 cannot be represented in type 'di_int' (aka 'long long'); cast to an unsigned type to negate this value to itself
This can be avoided by doing negation in a matching unsigned variant of the type.
The same kind of pattern is found in negti2.c
This was found in an out of tree target.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D158818
0 commit comments