http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52415
--- Comment #5 from Jay Foad <jay.foad at gmail dot com> 2012-02-28 13:03:50 UTC --- > But to answer your question, how you can assert it is properly aligned, in gcc > 4.7.0 you can write: > __builtin_memcpy (&i, __builtin_assume_aligned (p, sizeof *p), sizeof i); Thanks! Better: __builtin_assume_aligned (p, __alignof__ *p)