https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66194

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Evgeniy Dushistov from comment #8)
> (In reply to Markus Trippelsdorf from comment #7)
> > 6.3.2.3 p7:
> > »A pointer to an object type may be converted to a pointer to a different
> > object type. If the resulting pointer is not correctly aligned for the
> > referenced type, the behavior is undefined.«
> 
> Yep, but what does it mean "not correctly aligned"?

each type has an alignment associated with it.  In the case of AMD64, it is
defined by the ABI.

> x86/amd64 allow misaligned memory access, ABI also
> allow this:

ABI requirements are not C requirements always.  This paragraph is talking
about memory accesses but really it did not take into account other
requirements of C correctly.

Reply via email to