https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110531
--- Comment #5 from Hao Liu <hliu at amperecomputing dot com> --- BTW, there is no warning is probably because the original code is too complicated and not inlined. Compile the simple case by "g++ -O3 -S -Wall hello.c": int foo(bool a) { bool b; if (a || b) return 1; b = true; return 0; } gcc report warning: hello.c: In function ‘int foo(bool)’: hello.c:4:9: warning: ‘b’ is used uninitialized [-Wuninitialized] 4 | if (a || b) | ~~^~~~