Stdcall - treating as CCall (bogus warning on win 64 bit)
On windows you generally have the stdcall calling convention so you're average foreign import looks like this:
foreign import stdcall "someFile.h getFoo" getFoo :: IO Foo
But on a 64 bit system, GHC warns:
C:\Some\Path.hs:35:1: warning: [-Wunsupported-calling-conventions]
* the 'stdcall' calling convention is unsupported on this platform, treating as ccall
* When checking declaration:
foreign import stdcall safe "static someFile.h getFoo" getFoo :: IO Foo
Both stdcall & ccall are not applicable to a 64 bit system as far as I know, and if it was really treating it as ccall it would have segfaulted at runtime. So the warning is a bit of a lie anyway.
So far some developers generally have resorted to creating c preprocessor macros like this: https://www.mail-archive.com/cvs-libraries@haskell.org/msg09725.html
Apologies if this is a dupe, I thought someone already reported this a long time ago but I can't seem to find the ticket.
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |