[Haskell-cafe] Interfacing C++ iterators does not work as expected
Albert Y. C. Lai
trebla at vex.net
Tue May 3 04:36:58 CEST 2011
On 11-05-02 05:31 PM, Huynh Huu Long wrote:
> Big thanks, that works for me as well. Doesn't GHC check whether a
> type is allowed (like CInt,...) or not (like Bool,...)?
No, it doesn't, since version 6.10.1:
http://www.haskell.org/ghc/docs/6.10.1/html/users_guide/ffi-ghc.html#glasgow-foreign-headers
As it happens, FFI requires translating Haskell Bool from C int
(unlikely to be 1 byte), while GCC translates C++ bool to 1 byte. At a
suitable moon phase and planet alignment (or data alignment), mixing up
an int with a byte will be funny.
More information about the Haskell-Cafe
mailing list