From b4593b162036b4b0ed51e60da0f4fdacf8f4a68e Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 1 Sep 2026 16:38:32 +0200 Subject: [PATCH 3/3] Use warning option -Wshadow=local Change the existing -Wshadow=compatible-local to -Wshadow=local. This covers more cases than before. In particular, some types are assignable to each other, such as char * and const char *, or bool and some integer type, but they are not "compatible" in the C sense, so they are missed by the previous warning setting, but they are really the same basic problem. --- configure | 40 ++++++++++++++++++++-------------------- configure.ac | 4 ++-- meson.build | 2 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/configure b/configure index 002e31bf695..ec97d4d2c98 100755 --- a/configure +++ b/configure @@ -5905,15 +5905,15 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports -Wshadow=compatible-local, for CFLAGS" >&5 -$as_echo_n "checking whether ${CC} supports -Wshadow=compatible-local, for CFLAGS... " >&6; } -if ${pgac_cv_prog_CC_cflags__Wshadow_compatible_local+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports -Wshadow=local, for CFLAGS" >&5 +$as_echo_n "checking whether ${CC} supports -Wshadow=local, for CFLAGS... " >&6; } +if ${pgac_cv_prog_CC_cflags__Wshadow_local+:} false; then : $as_echo_n "(cached) " >&6 else pgac_save_CFLAGS=$CFLAGS pgac_save_CC=$CC CC=${CC} -CFLAGS="${CFLAGS} -Wshadow=compatible-local" +CFLAGS="${CFLAGS} -Wshadow=local" ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5928,31 +5928,31 @@ main () } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - pgac_cv_prog_CC_cflags__Wshadow_compatible_local=yes + pgac_cv_prog_CC_cflags__Wshadow_local=yes else - pgac_cv_prog_CC_cflags__Wshadow_compatible_local=no + pgac_cv_prog_CC_cflags__Wshadow_local=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="$pgac_save_CFLAGS" CC="$pgac_save_CC" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CC_cflags__Wshadow_compatible_local" >&5 -$as_echo "$pgac_cv_prog_CC_cflags__Wshadow_compatible_local" >&6; } -if test x"$pgac_cv_prog_CC_cflags__Wshadow_compatible_local" = x"yes"; then - CFLAGS="${CFLAGS} -Wshadow=compatible-local" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CC_cflags__Wshadow_local" >&5 +$as_echo "$pgac_cv_prog_CC_cflags__Wshadow_local" >&6; } +if test x"$pgac_cv_prog_CC_cflags__Wshadow_local" = x"yes"; then + CFLAGS="${CFLAGS} -Wshadow=local" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CXX} supports -Wshadow=compatible-local, for CXXFLAGS" >&5 -$as_echo_n "checking whether ${CXX} supports -Wshadow=compatible-local, for CXXFLAGS... " >&6; } -if ${pgac_cv_prog_CXX_cxxflags__Wshadow_compatible_local+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CXX} supports -Wshadow=local, for CXXFLAGS" >&5 +$as_echo_n "checking whether ${CXX} supports -Wshadow=local, for CXXFLAGS... " >&6; } +if ${pgac_cv_prog_CXX_cxxflags__Wshadow_local+:} false; then : $as_echo_n "(cached) " >&6 else pgac_save_CXXFLAGS=$CXXFLAGS pgac_save_CXX=$CXX CXX=${CXX} -CXXFLAGS="${CXXFLAGS} -Wshadow=compatible-local" +CXXFLAGS="${CXXFLAGS} -Wshadow=local" ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_ext=cpp @@ -5973,9 +5973,9 @@ main () } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - pgac_cv_prog_CXX_cxxflags__Wshadow_compatible_local=yes + pgac_cv_prog_CXX_cxxflags__Wshadow_local=yes else - pgac_cv_prog_CXX_cxxflags__Wshadow_compatible_local=no + pgac_cv_prog_CXX_cxxflags__Wshadow_local=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c @@ -5988,10 +5988,10 @@ ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="$pgac_save_CXXFLAGS" CXX="$pgac_save_CXX" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CXX_cxxflags__Wshadow_compatible_local" >&5 -$as_echo "$pgac_cv_prog_CXX_cxxflags__Wshadow_compatible_local" >&6; } -if test x"$pgac_cv_prog_CXX_cxxflags__Wshadow_compatible_local" = x"yes"; then - CXXFLAGS="${CXXFLAGS} -Wshadow=compatible-local" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CXX_cxxflags__Wshadow_local" >&5 +$as_echo "$pgac_cv_prog_CXX_cxxflags__Wshadow_local" >&6; } +if test x"$pgac_cv_prog_CXX_cxxflags__Wshadow_local" = x"yes"; then + CXXFLAGS="${CXXFLAGS} -Wshadow=local" fi diff --git a/configure.ac b/configure.ac index a331749fcb5..0308491ac6e 100644 --- a/configure.ac +++ b/configure.ac @@ -575,8 +575,8 @@ if test "$GCC" = yes -a "$ICC" = no; then PGAC_PROG_CC_CFLAGS_OPT([-Wcast-function-type]) PGAC_PROG_CXX_CFLAGS_OPT([-Wcast-function-type]) - PGAC_PROG_CC_CFLAGS_OPT([-Wshadow=compatible-local]) - PGAC_PROG_CXX_CFLAGS_OPT([-Wshadow=compatible-local]) + PGAC_PROG_CC_CFLAGS_OPT([-Wshadow=local]) + PGAC_PROG_CXX_CFLAGS_OPT([-Wshadow=local]) # This was included in -Wall/-Wformat in older GCC versions PGAC_PROG_CC_CFLAGS_OPT([-Wformat-security]) PGAC_PROG_CXX_CFLAGS_OPT([-Wformat-security]) diff --git a/meson.build b/meson.build index 52d6bc37dd9..acd2defaded 100644 --- a/meson.build +++ b/meson.build @@ -2212,7 +2212,7 @@ common_warning_flags = [ '-Werror=unguarded-availability-new', '-Wmissing-format-attribute', '-Wcast-function-type', - '-Wshadow=compatible-local', + '-Wshadow=local', # This was included in -Wall/-Wformat in older GCC versions '-Wformat-security', ] -- 2.55.0