Generating Function Prototypes

Simon Marlow simonmar at
Thu Jul 4 05:09:38 EDT 2002

> >> Of course, this ignores the detail that while the C compilers are
> >> generating correct code, they may also be generating warnings about
> >> alleged type errors - which can be a bit disconcerting.
> > It is an error, not just a warning, if the prototypes don't match.
> > GCC will complain loudly if there's a missing 'const' - it won't
> > generate any code at all.
> Well, if you disable the warning by giving gcc a consistent story,
> then the code is correct.  (To give gcc a consistent story, don't
> #include any user or system-supplied headers and make sure gcc doesn't
> silently #include any of its own (as it likes to do).)

I don't think it's possible to completely eliminate system headers from
the transitive closure of stuff we include when compiling a .hc file.
I've just taken a look at this, and it seems that while we can eliminate
a lot of the stuff we include, there are some awkward ones: we need
gmp.h for Integer operations, and that includes <stddef.h>, and HsFFI.h
needs <stdint.h> to get the int-type limits (perhaps these could be


More information about the FFI mailing list