[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.