http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53900
--- Comment #2 from Gael Guennebaud <gael.guennebaud at gmail dot com> 2012-07-09 16:12:07 UTC --- The problem is that it is not guaranteed to be effectively aligned, and it is nice to be able to detect when this happens to either abort with a clear message, trigger an exception, or even properly handle this case by disabling at runtime some optimizations. Anyway, if you disagree, I'm sure I'll find a workaround using, e.g., a non inlined intermediate function masking the origin of the pointer.