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 |