
On Sat, 2005-10-22 at 16:40 +0200, Sven Panne wrote:
I am not sure if we are talking about the same problem here: As I've recently noticed to my surprise, the API entries in openal32.dll use the _cdecl calling convention! AFAIK this is very unusual for a WinDoze DLL, so the above commit makes sure that the Haskell binding always uses ccall, even on WinDoze.
I've raised this issue on the OpenAL developer's list and asked for the rationale behind this, but got no real answer:
http://opensource.creative.com/pipermail/openal-devel/2005-October/001555.ht...
My personal guess is that this just happened by accident. :-)
I thought it was rather the other way around. I was under the impression that most Win32 DLLs use the ccall calling convention and that it was only the windows system dlls that use the stdcall convention. I know that the Gtk+ dlls use ccall on win32. Furthermore they can be used from programs compiled with MSVC; that is they follow the MSVC ABI (including the MSVC bitfield packing convention). Duncan