Fix a few GCC warnings
authorMichal Terepeta <michal.terepeta@gmail.com>
Sun, 13 May 2018 22:34:03 +0000 (18:34 -0400)
committerBen Gamari <ben@smart-cactus.org>
Sun, 13 May 2018 22:34:09 +0000 (18:34 -0400)
commiteb39f98891482366cf1130fe58d728b93f0dd49f
tree94c7adf6e8d239ea6f97853264cd8dd9fb7b6593
parent7c665f9ce0980ee7c81a44c8f861686395637453
Fix a few GCC warnings

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
functions).

For instance, hash/comparison function are declared (`Hash.h`) to take
`StgWord` but we want to use `StgWord64[2]` 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 <michal.terepeta@gmail.com>
Test Plan: ./validate

Reviewers: bgamari, erikd, simonmar

Reviewed By: bgamari

Subscribers: rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4673
includes/rts/OSThreads.h
rts/Hash.c
rts/Hash.h
rts/StaticPtrTable.c
rts/Task.c
rts/posix/OSThreads.c