[MLton] Port to HP-UX
Matthew Fluet
fluet@cs.cornell.edu
Tue, 25 Apr 2006 16:24:21 -0400 (EDT)
> We have two proposals on the table for fixing the type-punning pointer
> problem.
>
> 1. Change our typedef for "pointer" to be void* instead of char*.
> 2. The other is to cast through a union.
Is another option to cast through void*?
> Right now I am hesitant to make too many changes to the runtime, as we
> are awaiting the merge of the x86-64 branch into the trunk, and it
> massively restructures and rewrites the runtime. That branch still
> leaves pointer as char*. Matthew, could you try out pointer as void*
> on the x86-64 branch and see how much it impacts things?
I've been compiling the runtime on the x86_64 branch with as many gcc
warnings as possible. The -Wpointer-arith option raises 100s of
warnings when I switch to void*.
-Wpointer-arith'
Warn about anything that depends on the "size of" a function type
or of `void'. GNU C assigns these types a size of 1, for
convenience in calculations with `void *' pointers and pointers to
functions.