https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126527
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
char storage[64] __attribute__((aligned(8)));
Entry* entry = reinterpret_cast<Entry*>(storage + 28);
This is undefined. Entry requires 8 byte alignment but you are not providing a
pointer which is not aligned correctly so what is happening is exactly what you
expect.