------- Comment #1 from rearnsha at gcc dot gnu dot org 2006-11-22 10:50 ------- The compiler expects 'y' to be correctly aligned because the ABI says that it can expect this to be so. If you write a program that then provides an unaligned value, then the behaviour is undefined and you can get any result the compiler feels like giving you.
Hint: don't increment void* pointers (it's a gcc extension that permits this anyway) and then try to assign them to a structure. Malloc provides memory that is correctly aligned for direct assignment to any structure type. -- rearnsha at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29938