https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66194
--- Comment #7 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- 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.«