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