[haskell-llvm] mapping CSize to i32 or i64
Henning Thielemann
lemming at henning-thielemann.de
Sun Dec 19 15:06:12 EST 2010
I am about to rewrite LLVM.Core.malloc and LLVM.Core.free using the
functions from C's standard library, first because the according LLVM
intrinsics are deprecated and second because the malloc intrinsic in
LLVM-2.7 and 2.8 becomes unusable due to the bug
http://llvm.org/bugs/show_bug.cgi?id=8281
However, I am uncertain how to declare 'malloc' the right way using
externFunction. I expect that 'size_t' is Word32 or Word64 depending on
the machine word size. Unfortunately, CSize is not an LLVM type. My first
idea was to abuse a void pointer type for the memory size argument, since
pointers and size_t have probably the same number of bits. However
declaring 'malloc' this way, will interfer with custom 'malloc'
declarations of users of the 'llvm' package.
More information about the Haskell-llvm
mailing list