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.

Reply via email to