GCC 8 now generates warnings for incompatible function pointer casts
[-Werror=cast-function-type]. Apparently there are a few of those in rts
code, which makes ./validate unhappy (since we compile with -Werror)
This commit tries to fix these issues by changing the functions to have
the correct type (and, if necessary, moving the casts into those
For instance, hash/comparison function are declared (Hash.h) to take
StgWord but we want to use StgWord64 in StaticPtrTable.c.
Instead of casting the function pointers, we can cast the StgWord
parameter to StgWord*. I think this should be ok since StgWord
should be the same size as a pointer.
Signed-off-by: Michal Terepeta <email@example.com>