https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100073

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-04-14
           Assignee|unassigned at gcc dot gnu.org      |msebor at gcc dot 
gnu.org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
Looks like powerpc64 doesn't warn for the code, and apparently neither does
aarch64 with -mabi=ilp32, due to what seems like a limitation in the uninit
pass which sees this IL:

  <bb 3> [local count: 105119324]:
  doloop.6_16 = (unsigned int) indx_9(D);
  ivtmp.9_22 = (unsigned long) &MEM <int[10]> [(void *)&arr + -4B];   <<<
&arr[-1]
  _27 = out_11(D) + 18446744073709551612;
  ivtmp.11_26 = (unsigned long) _27;

  <bb 4> [local count: 955630225]:
  # doloop.6_20 = PHI <doloop.6_17(6), doloop.6_16(3)>
  # ivtmp.9_7 = PHI <ivtmp.9_6(6), ivtmp.9_22(3)>         <<< ivtmp.9_22(3)
points to arr[-1]
  # ivtmp.11_24 = PHI <ivtmp.11_25(6), ivtmp.11_26(3)>
  ivtmp.9_6 = ivtmp.9_7 + 4;                              <<< &arr[0]
  _28 = (void *) ivtmp.9_6;
  _1 = MEM[(int *)_28];                                   <<< uninitialized
read, no warning

Reply via email to