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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|ibuclaw at gdcproject dot org      |unassigned at gcc dot 
gnu.org
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
          Component|d                           |middle-end
   Last reconfirmed|                            |2021-08-06

--- Comment #5 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed.  The format depends on the IL which is less than ideal since that
exposes internal differences that users don't care about and that can be
confusing.

$ cat pr96989.c && gcc -S -Wall pr96989.c
int f (void)
{ 
  unsigned a[3];
  return a[2];
}

int g (unsigned n)
{ 
  int a[n];
  return a[2];
}

int h (unsigned n)
{
  unsigned *a = __builtin_malloc (n);
  return a[2];
}
pr96989.c: In function ‘f’:
pr96989.c:4:11: warning: ‘a’ is used uninitialized [-Wuninitialized]
    4 |   return a[2];
      |          ~^~~
pr96989.c:3:12: note: ‘a’ declared here
    3 |   unsigned a[3];
      |            ^
pr96989.c: In function ‘g’:
pr96989.c:10:11: warning: ‘*a[2]’ is used uninitialized [-Wuninitialized]
   10 |   return a[2];
      |          ~^~~
pr96989.c: In function ‘h’:
pr96989.c:16:11: warning: ‘*a_7 + 8’ is used uninitialized [-Wuninitialized]
   16 |   return a[2];
      |          ~^~~

Reply via email to