------- Comment #3 from rguenth at gcc dot gnu dot org  2010-01-01 22:42 -------
The array indexing is done with D.25175_104, but

  D.25173_102 = (uint16) cutawaySlot_256;
  D.25174_103 = D.25173_102 + 10;
  D.25175_104 = (int) D.25174_103;
...
  if (D.25174_103 > 9)
    goto <bb 26>;
  else
    goto <bb 30>;

the actual check is done on D.25174_103.  We do not add asserts for
D.25175_104 on the edge to BB30.  D.25174 is unsigned short.

So we end up with

D.25173_102: [0, 1]
D.25174_103: [10, 11]
D.25175_104: [10, 11]

and warn for the access that is dominated by BB30.

So the issue is that we warn for dead code.


-- 


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

Reply via email to