-
Simon Marlow authored
Previously we declared all external labels with type StgWord[], because the same label might be used at different types in the same file, e.g. if there are multiple foreign import declarations for the same function. However, we have to declare called functions with the right type on Windows, because this is the only way to make the compiler add the appropriate '@n' suffix for stdcall functions. Related to this is the reason we were getting mangler complaints (epilogue mangling) when compiling the RTS with -fvia-C. The function barf() doesn't return, but we had lost that information by declaring our own prototypes, and so gcc was generating extra code after the call to barf(). For more details see http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/PprC
b779271a