Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

rts: Interpreter.c - Fix casts for `SIZED_BIN_OP_TY_INT`
## Summary We use this macro to define operations like shifts, where the second argument is `Int#`. However it seems I defined it as: ``` // op :: ty -> Int -> ty #define SIZED_BIN_OP_TY_INT(op,ty) \ { \ if(sizeof(ty) > sizeof(StgWord)) { \ ty r = ((ty) ReadSpW64(0)) op ((ty) ReadSpW(2)); \ Sp_addW(1); \ SpW64(0) = (StgWord64) r; \ } else { \ ty r = ((ty) ReadSpW(0)) op ((ty) ReadSpW(1)); \ Sp_addW(1); \ SpW(0) = (StgWord) r; \ }; \ goto nextInsn; \ } ``` I believe this produces valid results for all operations we currently implement. However it's confusing that we use `ty r = ((ty) ReadSpW(0)) op ((ty) ReadSpW(1));` instead of `ty r = ((ty) ReadSpW(0)) op ((StgInt) ReadSpW(1));` which as I remember was my intention! But as far as I know it doesn't cause any issues so it's not a high priority to fix. ## Expected behavior What do you expect the reproducer described above to do? ## Environment * GHC version used: Optional: * Operating System: * System Architecture:
issue