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]; | ~^~~