Next
Previous
Contents
Important changes (especially those affecting the semantics of the tool) are
documented in the following.
- Improved line pragma generation
- Works with GHC 6.3
- Builds on Mac OS X thanks to a patch by Sean Seefried
- Bug fixes
- Constant expression can now contain enumerators
header label removed from context hooks
- WARNING: This version of
c2hs may overwrite C
header files in the current directory. More precisely, if a binding module
with the name Foo.chs is processed, a header file with the name
Foo.h is generated and will overwrite any file of the same name in
the current directory or the directory specified via the -o option.
- Added support for CPP directives, including special treatment of
conditions, and for inline C code; specification of a header file as an
argument to
c2hs is now option.
- GHC line pragmas are emitted into
generated Haskell code
- Swap the order of reading the binding module and
the C header (i.e., we now read the binding module first)
- Worked around a bug in GHC 5.04.1
- Solaris-related fix
- Marshalling support for bit masks represented as enumeration types
- Added
fun hooks
as aliases can use ^ convert the orignal identifier with
underscore2case
- In call hooks, the attributes `fun' was replaced by `pure' (`fun' is
will still be recognised for a while to ensure backwards compatibility, but
it's use is deprecated)
- GHC's package system is now supported
- If two import hooks add a type mapping for a pointer hook with the same
name, the textual later one dominates.
- Bug fixes
- Support for bitfields (they are correctly handled when computing struct
offsets and they can be accessed using
set and get hooks)
- Some more support for GNU C extensions ("alignof" and better support
"__attribute__")
- Added
class hooks
- Bug fixes
- Library names in
foreign imports have been removed until
the convention of the new FFI is implemented (they are currently silently
omitted)
- Added
sizeof hooks; sizeof of type names is now also supported in
constant expressions
- Local prefix for
enum hooks; courtesy of Armin Sander
- Added
import hooks
- The documentation includes a description of binding hooks
- Added
pointer hooks, which were derived from code for a similar
feature by Axel Simon; this includes proper treatment of parametrised pointers
- Integrated
deriving option for enum hooks, which was
contributed by Axel Simon
- Adapted to GHC 5.0
- Adaptation layer for legacy
StablePtr interface
- Forgot to export
FunPtr and associated functions from C2HS
- Forgot to export some names in
C2HSDeprecated
- Added support for gcc's
__builtin_va_list
- Library adapted to New FFI; the old interface can still be used by
importing
C2HSDeprecated
- FFI Library specification added to the documentation
- CygWin support; based on suggestions by Anibal Maffioletti Rodrigues de
DEUS <anibaldedeus@email.com>
IntConv instances for Int8, Word8, and Char
- Debugged the stripping of prefixes from enumerators; prefixes are now
generally stripped, independent of whether they can be stripped from all
enumerators of a given enumeration type
- Comma now correctly required after
underscoreToCase. WARNING:
This breaks source compatibility with previous versions.
- Provisional support for GHC 4.08
- Corrected constant folding
Ignores any occurrence of #pragma.
Bug fixes and support for long long.
This is mainly a bug fix release. In particular, the space behaviour of
C->Haskell has been significantly improved.
IMPORTANT NOTE: From this release on, library names in lib tags in
context hooks should not contain a suffix (i.e., omit .so
etc).
Next
Previous
Contents