
#12890: Stdcall - treating as CCall (bogus warning on win 64 bit) -------------------------------------+------------------------------------- Reporter: tim-m89 | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Keywords: | Operating System: Windows Architecture: x86_64 | Type of failure: Incorrect (amd64) | error/warning at compile-time Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- 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. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12890 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler