------- Comment #14 from yotambarnoy at gmail dot com 2010-09-02 20:47 -------
Getting back to the original question, I did some reading online and I can't
figure out why this breaks the strict aliasing rules.
Isn't void * some kind of special case? Shouldn't I be able to convert it to
whatever I need within the function without breaking aliasing?
I think the problem is that gcc assumes that I want alignment (for the uint32 *
inside the struct) and doesn't realize I've used PACKED, so it decides that
it's undefined behavior. What do you guys think? This aliasing topic is so