[Bug c++/56394] pointer arithmetic breaks with __attribute__((packed))

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 19 14:15:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56394

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-19 14:15:18 UTC ---
Also reproduces with optimization but with -fno-inline.  The issue must be
with the exact division:

  D.2616_5 = end.0_3 - beg.1_4;
  D.2617_6 = D.2616_5 /[ex] 12;

the difference is 4088 but that does not divide by 12.  Which means your
computed end is not correct (the pointers cannot point to elements of
an array of Xyz).



More information about the Gcc-bugs mailing list