varargs, 64-bit targets, and strict-aliasing warnings

Mike Stump mrs@apple.com
Fri Aug 27 21:37:00 GMT 2004


On Thursday, August 26, 2004, at 08:53  PM, Roland Dreier wrote:
> Thanks for the explanation.  However I'm still a little hazy on what's
> being done that's forbidden by the strict-aliasing rules.

You cannot interchange pointers to uint64_t and pointers to unsigned 
long long, you must select one or the other, pretend that long long is 
128 bits, and uint64_t is 64 bits, and conceptually, you won't go 
wrong.  That is the only thing you did wrong, and no fix that doesn't 
address this fundamental problem will _fix_ it.  No casting, no -w, no 
ignoring it.



More information about the Gcc mailing list