http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59958
--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- The response to C90 DR#075 said memory from malloc must be suitably aligned for all types, not just those fitting in space of the given size, and nothing relevant has changed in the malloc specification in C99/C11 so it's reasonable to assume this still applies (for standard types, that is, not types using C11 _Alignof). http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_075.html