https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109041
--- Comment #4 from ishikawa,chiaki <ishikawa at yk dot rim.or.jp> --- Right, when I replaced gcc-11 with gcc-12 in my script, I got the following warnings. One of them was there before, the other is new. /tmp/sqlite3-preprocessed-2.c: In function ‘posixUnlock’: /tmp/sqlite3-preprocessed-2.c:22632:42: error: self-comparison always evaluates to true [-Werror=tautological-compare] 22632 | sqlite3PendingByte+1==(sqlite3PendingByte+1) | ^~ /tmp/sqlite3-preprocessed-2.c: In function ‘vtabCallConstructor’: /tmp/sqlite3-preprocessed-2.c:121095:4: error: the comparison will always evaluate as ‘true’ for the address of ‘pVtabCtx’ will never be NULL [-Werror=address] 121095 | ) ? (void) (0) : __assert_fail ( | ^ /tmp/sqlite3-preprocessed-2.c:5226:12: note: ‘pVtabCtx’ declared here 5226 | VtabCtx *pVtabCtx; | ^~~~~~~~ cc1: all warnings being treated as errors The latter one is a new one. Not sure why it was not triggered with gcc-11. Anyway, actually, I have found out that there is a runtime assertion triggered by thunderbird mail client when it is compiled with gcc-12, and not with gcc-10|gcc-11. So, I wanted to check the source code as much as possible with -Werror before I dive into runtime code generation issues. "-Werror" signals so many dubious constructs, and it has been an uphill battle to make the code compile. I found a missing "break" statement (implicit fallthrough), and strange size check (3rd argument to strncpy) already, but I am close to being able to compile mozilla source tree with more compile time check right now. Thank you again for making advanced compiler available free of charge.