// result will be (a ^ mask)
switch(et) {
default:
+ // signed guys change sign
mpmovecfix(&b, -1);
break;
- case TINT8:
- case TINT16:
- case TINT32:
- case TINT64:
- case TINT:
- et++; // convert to unsigned
- // fallthrough
case TUINT8:
case TUINT16:
case TUINT32:
case TUINT64:
case TUINT:
case TUINTPTR:
+ // unsigned guys invert their bits
mpmovefixfix(&b, maxintval[et]);
break;
}
5 7
BUG: should crash
-=========== bugs/bug156.go
-bugs/bug156.go:7: constant 18446744073709551615 overflows int64
-BUG: bug156
-
=========== fixedbugs/bug016.go
fixedbugs/bug016.go:7: constant -3 overflows uint