Add -Wshadow=compatible-local to the standard compilation flags
authorDavid Rowley <drowley@postgresql.org>
Fri, 7 Oct 2022 03:50:31 +0000 (16:50 +1300)
committerDavid Rowley <drowley@postgresql.org>
Fri, 7 Oct 2022 03:50:31 +0000 (16:50 +1300)
commit0fe954c28584169938e5c0738cfaa9930ce77577
tree4ae48f856afe48dd705984f9343cbcd84c343586
parent80ef92675823f14b0dd15a50b31372e27773a1f5
Add -Wshadow=compatible-local to the standard compilation flags

Since cd4e8caaa, we've been able to build the source tree with
-Wshadow=compatible-local without any warnings.  Lots of work was done by
Justin Pryzby and I (David) to get all our code to compile warning free
with that flag.  In that process, 2 bugs (16d69ec29 and af7d270dd) were
discovered and fixed.  Additionally, "git log --grep=shadow" shows that
there is no shortage of other bugs that have been fixed over the years
which were caused by variable shadowing.

In light of the above, it seems very much worthwhile to add at least
-Wshadow=compatible-local to our standard compilation flags.  We *may*
want to go further and take this to -Wshadow=local in the future, but
we're not ready for that today, so let's add -Wshadow=compatible-local now
to help make sure we don't introduce further local variable shadowing.

Author: Andres Freund
Discussion: https://postgr.es/m/20221006003920.6xlqaoccxwisza5k@awork3.anarazel.de
configure
configure.ac
meson.build