[MLton] x86_64 port status
Matthew Fluet
fluet@cs.cornell.edu
Wed, 10 May 2006 22:53:52 -0400 (EDT)
>> Perhaps a better approach would be to define the following:
>>
>> struct PointerAux { unsigned char[4]; } __attribute__ ((aligned (4));
>> typedef struct PointerAux* Pointer;
>
> I tried this out and it worked well. To be clear, I used
>
> struct PointerAux { unsigned char z[4]; } __attribute__ ((aligned (4)));
>
> This cut down the number of "cast increases required alignment" warnings
> from 143 to 95. All of the warnings eliminated were from basis/*
> files.
Could you see if
typedef unsigned char PointerAux __attribute__ ((aligned (4), may_alias));
typedef PointerAux* Pointer;
also suppresses the "cast increases required alignment" warnings? I think
it is a little closer to our intentions.