https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105539
qinzhao at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |qinzhao at gcc dot gnu.org --- Comment #5 from qinzhao at gcc dot gnu.org --- I am a little confused: with gcc -Wuninitialized -O1 (without -ftrivial-auto-var-init=zero), there are two issues: 1. the early uninitialized analysis didn't catch the uninitialized usage of y; 2. the ccp optimization deletes the if (z) statement completely: [opc@qinzhao-aarch64-ol8 105539]$ cat t.c.034t.ccp1 ;; Function x (x, funcdef_no=0, decl_uid=3591, cgraph_uid=1, symbol_order=0) Removing basic block 3 Merging blocks 2 and 4 int x (int z) { int y; <bb 2> : return 10; } are the above two bugs?