http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48781
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-04-26 22:30:00 UTC --- (In reply to comment #2) > (In reply to comment #1) > > The alignment of __uint128_t is 16byte. I think you are invoking undefined > > behavior by using a data type which increases the alignment. > > _uint128_t does not assume a 16-byte alignment, right? Maybe using (unsigned > int *) for pointer 'data' is not an good example. __uint128_t is a type which has 16byte alignment so yes GCC assumes 16byte alignment.