Skip to content
  • Michal Terepeta's avatar
    Fix a few GCC warnings · eb39f988
    Michal Terepeta authored and Ben Gamari's avatar Ben Gamari committed
    
    
    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: default avatarMichal 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
    eb39f988