http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54365
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-08-24 18:23:50 UTC --- This code as far as I Know is undefined. Pointer arithmetic overflow is undefined and not wrapping. Mainly because there is no way to add a positive number to an object and get back a NULL pointer.