On 02.09.26 07:19, Chao Li wrote:
A few small comments:
1 - 0001 - dependencies.c
```
* expression into *expr.
*/
static bool
-dependency_is_compatible_expression(Node *clause, Index relid, List *statlist,
Node **expr)
+dependency_is_compatible_expression(Node *clause, Index relid, List *statlist,
Node **stat_expr_p)
```
As “expr” is renamed, the function header comment needs to be updated as well.
2 - 0001 - pg_constraint.c
```
+ CookedConstraint *cooked_constr;
```
In the current RelationGetNotNullConstraints(), other local variables use
camelCase naming, for example constrRel, so maybe it would be better to keep
the naming style consistent.
Thanks, the patch with the code changes has been committed, with your
suggestions incorporated.
The patch to activate the option couldn't be committed yet because the
workaround for the LLVM headers didn't work and had to be reverted
(commit 7a0aa99e51c). I have worked on a new solution that works more
along the lines of how other per-file or per-module "-Wno-..." options
are handled. I think this will be simpler and less fragile. See
attached patch.
From 1d18c2d47c4685873f28d1fb4d4aac0e89a49320 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <[email protected]>
Date: Thu, 17 Sep 2026 10:38:33 +0200
Subject: [PATCH v2] 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.
But: The LLVM headers are not clean for this option, so we need to
disable this option for those headers. We do this by also detecting
in configure and meson the negative form of the warning option and
applying it when compiling the respective files, similar to how other
per-file warning disabling already works.
This technically loses the previous -Wshadow=compatible-local checking
of the LLVM-using files, but this worked only by accident anyway and
there is no guarantee that future LLVM versions wouldn't run afoul of
that warning level.
The variables are intentionally named "...shadow", not
"...shadow_local" or similar, so that other shadow warning option
variants could be substituted easily.
In the long run, a better solution might be to use -isystem for the
LLVM include directories, as was attempted in commit 704ef84ef23 but
then reverted in 7a0aa99e51c, because porting that logic from meson
accurately to configure is complicated and fragile and hard to test
and maintain.
Discussion:
https://www.postgresql.org/message-id/flat/84b6f128-91f5-480e-8a9e-7d0e8f538cea%40eisentraut.org
---
configure | 187 +++++++++++++++++--------------
configure.ac | 16 ++-
meson.build | 9 +-
src/Makefile.global.in | 1 +
src/backend/jit/llvm/Makefile | 2 +-
src/backend/jit/llvm/meson.build | 2 +-
src/makefiles/meson.build | 2 +
7 files changed, 127 insertions(+), 92 deletions(-)
diff --git a/configure b/configure
index d42a7a794ff..6b05d4c84ab 100755
--- a/configure
+++ b/configure
@@ -749,6 +749,7 @@ CXXFLAGS_SL_MODULE
CFLAGS_SL_MODULE
CFLAGS_VECTORIZE
CFLAGS_UNROLL_LOOPS
+PERMIT_CXX_SHADOW
PERMIT_MISSING_VARIABLE_DECLARATIONS
PERMIT_DECLARATION_AFTER_STATEMENT
LLVM_BINPATH
@@ -5902,15 +5903,17 @@ 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 :
+ # This was included in -Wall/-Wformat in older GCC versions
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports
-Wformat-security, for CFLAGS" >&5
+$as_echo_n "checking whether ${CC} supports -Wformat-security, for CFLAGS... "
>&6; }
+if ${pgac_cv_prog_CC_cflags__Wformat_security+:} 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} -Wformat-security"
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5925,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__Wformat_security=yes
else
- pgac_cv_prog_CC_cflags__Wshadow_compatible_local=no
+ pgac_cv_prog_CC_cflags__Wformat_security=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__Wformat_security" >&5
+$as_echo "$pgac_cv_prog_CC_cflags__Wformat_security" >&6; }
+if test x"$pgac_cv_prog_CC_cflags__Wformat_security" = x"yes"; then
+ CFLAGS="${CFLAGS} -Wformat-security"
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
-Wformat-security, for CXXFLAGS" >&5
+$as_echo_n "checking whether ${CXX} supports -Wformat-security, for
CXXFLAGS... " >&6; }
+if ${pgac_cv_prog_CXX_cxxflags__Wformat_security+:} 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} -Wformat-security"
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
ac_ext=cpp
@@ -5970,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__Wformat_security=yes
else
- pgac_cv_prog_CXX_cxxflags__Wshadow_compatible_local=no
+ pgac_cv_prog_CXX_cxxflags__Wformat_security=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
@@ -5985,24 +5988,27 @@ 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__Wformat_security" >&5
+$as_echo "$pgac_cv_prog_CXX_cxxflags__Wformat_security" >&6; }
+if test x"$pgac_cv_prog_CXX_cxxflags__Wformat_security" = x"yes"; then
+ CXXFLAGS="${CXXFLAGS} -Wformat-security"
fi
- # This was included in -Wall/-Wformat in older GCC versions
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports
-Wformat-security, for CFLAGS" >&5
-$as_echo_n "checking whether ${CC} supports -Wformat-security, for CFLAGS... "
>&6; }
-if ${pgac_cv_prog_CC_cflags__Wformat_security+:} false; then :
+ # gcc 14+, clang for a while
+ # (Supported in C++ by clang but not gcc. For consistency, omit in C++.)
+ save_CFLAGS=$CFLAGS
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports
-Wmissing-variable-declarations, for CFLAGS" >&5
+$as_echo_n "checking whether ${CC} supports -Wmissing-variable-declarations,
for CFLAGS... " >&6; }
+if ${pgac_cv_prog_CC_cflags__Wmissing_variable_declarations+:} false; then :
$as_echo_n "(cached) " >&6
else
pgac_save_CFLAGS=$CFLAGS
pgac_save_CC=$CC
CC=${CC}
-CFLAGS="${CFLAGS} -Wformat-security"
+CFLAGS="${CFLAGS} -Wmissing-variable-declarations"
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6017,31 +6023,80 @@ main ()
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
- pgac_cv_prog_CC_cflags__Wformat_security=yes
+ pgac_cv_prog_CC_cflags__Wmissing_variable_declarations=yes
else
- pgac_cv_prog_CC_cflags__Wformat_security=no
+ pgac_cv_prog_CC_cflags__Wmissing_variable_declarations=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__Wformat_security" >&5
-$as_echo "$pgac_cv_prog_CC_cflags__Wformat_security" >&6; }
-if test x"$pgac_cv_prog_CC_cflags__Wformat_security" = x"yes"; then
- CFLAGS="${CFLAGS} -Wformat-security"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$pgac_cv_prog_CC_cflags__Wmissing_variable_declarations" >&5
+$as_echo "$pgac_cv_prog_CC_cflags__Wmissing_variable_declarations" >&6; }
+if test x"$pgac_cv_prog_CC_cflags__Wmissing_variable_declarations" = x"yes";
then
+ CFLAGS="${CFLAGS} -Wmissing-variable-declarations"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CXX} supports
-Wformat-security, for CXXFLAGS" >&5
-$as_echo_n "checking whether ${CXX} supports -Wformat-security, for
CXXFLAGS... " >&6; }
-if ${pgac_cv_prog_CXX_cxxflags__Wformat_security+:} false; then :
+ PERMIT_MISSING_VARIABLE_DECLARATIONS=
+ if test x"$save_CFLAGS" != x"$CFLAGS"; then
+ PERMIT_MISSING_VARIABLE_DECLARATIONS=-Wno-missing-variable-declarations
+ fi
+
+
+ # We need to be able to disable shadow warnings for the LLVM
+ # includes.
+
+{ $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=local"
+ac_save_c_werror_flag=$ac_c_werror_flag
+ac_c_werror_flag=yes
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ pgac_cv_prog_CC_cflags__Wshadow_local=yes
+else
+ 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_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
+
+
+ save_CXXFLAGS=$CXXFLAGS
+ { $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} -Wformat-security"
+CXXFLAGS="${CXXFLAGS} -Wshadow=local"
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
ac_ext=cpp
@@ -6062,9 +6117,9 @@ main ()
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
- pgac_cv_prog_CXX_cxxflags__Wformat_security=yes
+ pgac_cv_prog_CXX_cxxflags__Wshadow_local=yes
else
- pgac_cv_prog_CXX_cxxflags__Wformat_security=no
+ pgac_cv_prog_CXX_cxxflags__Wshadow_local=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
@@ -6077,61 +6132,19 @@ 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__Wformat_security" >&5
-$as_echo "$pgac_cv_prog_CXX_cxxflags__Wformat_security" >&6; }
-if test x"$pgac_cv_prog_CXX_cxxflags__Wformat_security" = x"yes"; then
- CXXFLAGS="${CXXFLAGS} -Wformat-security"
-fi
-
-
- # gcc 14+, clang for a while
- # (Supported in C++ by clang but not gcc. For consistency, omit in C++.)
- save_CFLAGS=$CFLAGS
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports
-Wmissing-variable-declarations, for CFLAGS" >&5
-$as_echo_n "checking whether ${CC} supports -Wmissing-variable-declarations,
for CFLAGS... " >&6; }
-if ${pgac_cv_prog_CC_cflags__Wmissing_variable_declarations+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- pgac_save_CFLAGS=$CFLAGS
-pgac_save_CC=$CC
-CC=${CC}
-CFLAGS="${CFLAGS} -Wmissing-variable-declarations"
-ac_save_c_werror_flag=$ac_c_werror_flag
-ac_c_werror_flag=yes
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- pgac_cv_prog_CC_cflags__Wmissing_variable_declarations=yes
-else
- pgac_cv_prog_CC_cflags__Wmissing_variable_declarations=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__Wmissing_variable_declarations" >&5
-$as_echo "$pgac_cv_prog_CC_cflags__Wmissing_variable_declarations" >&6; }
-if test x"$pgac_cv_prog_CC_cflags__Wmissing_variable_declarations" = x"yes";
then
- CFLAGS="${CFLAGS} -Wmissing-variable-declarations"
+{ $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
- PERMIT_MISSING_VARIABLE_DECLARATIONS=
- if test x"$save_CFLAGS" != x"$CFLAGS"; then
- PERMIT_MISSING_VARIABLE_DECLARATIONS=-Wno-missing-variable-declarations
+ PERMIT_CXX_SHADOW=
+ if test x"$save_CXXFLAGS" != x"$CXXFLAGS"; then
+ PERMIT_CXX_SHADOW=-Wno-shadow=local
fi
+
# Disable strict-aliasing rules; needed for gcc 3.3+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports
-fno-strict-aliasing, for CFLAGS" >&5
diff --git a/configure.ac b/configure.ac
index a331749fcb5..6864268eaa0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -575,11 +575,11 @@ 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])
+
# This was included in -Wall/-Wformat in older GCC versions
PGAC_PROG_CC_CFLAGS_OPT([-Wformat-security])
PGAC_PROG_CXX_CFLAGS_OPT([-Wformat-security])
+
# gcc 14+, clang for a while
# (Supported in C++ by clang but not gcc. For consistency, omit in C++.)
save_CFLAGS=$CFLAGS
@@ -589,6 +589,18 @@ if test "$GCC" = yes -a "$ICC" = no; then
PERMIT_MISSING_VARIABLE_DECLARATIONS=-Wno-missing-variable-declarations
fi
AC_SUBST(PERMIT_MISSING_VARIABLE_DECLARATIONS)
+
+ # We need to be able to disable shadow warnings for the LLVM
+ # includes.
+ PGAC_PROG_CC_CFLAGS_OPT([-Wshadow=local])
+ save_CXXFLAGS=$CXXFLAGS
+ PGAC_PROG_CXX_CFLAGS_OPT([-Wshadow=local])
+ PERMIT_CXX_SHADOW=
+ if test x"$save_CXXFLAGS" != x"$CXXFLAGS"; then
+ PERMIT_CXX_SHADOW=-Wno-shadow=local
+ fi
+ AC_SUBST(PERMIT_CXX_SHADOW)
+
# Disable strict-aliasing rules; needed for gcc 3.3+
PGAC_PROG_CC_CFLAGS_OPT([-fno-strict-aliasing])
PGAC_PROG_CXX_CFLAGS_OPT([-fno-strict-aliasing])
diff --git a/meson.build b/meson.build
index f4cde249242..d05634fef0d 100644
--- a/meson.build
+++ b/meson.build
@@ -2209,7 +2209,6 @@ common_warning_flags = [
'-Werror=unguarded-availability-new',
'-Wmissing-format-attribute',
'-Wcast-function-type',
- '-Wshadow=compatible-local',
# This was included in -Wall/-Wformat in older GCC versions
'-Wformat-security',
]
@@ -2263,6 +2262,14 @@ if cc.has_argument('-Wmissing-variable-declarations')
cflags_no_missing_var_decls += '-Wno-missing-variable-declarations'
endif
+# We need to be able to disable shadow warnings for the LLVM includes.
+cflags_warn += cc.get_supported_arguments('-Wshadow=local')
+cxxflags_no_shadow = []
+if have_cxx and cxx.has_argument('-Wshadow=local')
+ cxxflags_warn += '-Wshadow=local'
+ cxxflags_no_shadow += '-Wno-shadow=local'
+endif
+
# The following tests want to suppress various unhelpful warnings by adding
# -Wno-foo switches. But gcc won't complain about unrecognized -Wno-foo
# switches, so we have to test for the positive form and if that works,
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index cef1ad7f87d..3279ea87eff 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -279,6 +279,7 @@ CFLAGS_CRC = @CFLAGS_CRC@
PERMIT_DECLARATION_AFTER_STATEMENT = @PERMIT_DECLARATION_AFTER_STATEMENT@
PERMIT_MISSING_VARIABLE_DECLARATIONS = @PERMIT_MISSING_VARIABLE_DECLARATIONS@
CXXFLAGS = @CXXFLAGS@
+PERMIT_CXX_SHADOW = @PERMIT_CXX_SHADOW@
have_cxx = @have_cxx@
diff --git a/src/backend/jit/llvm/Makefile b/src/backend/jit/llvm/Makefile
index 7a65290a85a..b70a6019f24 100644
--- a/src/backend/jit/llvm/Makefile
+++ b/src/backend/jit/llvm/Makefile
@@ -24,7 +24,7 @@ NAME = llvmjit
# All files in this directory use LLVM.
CFLAGS += $(LLVM_CFLAGS)
-CXXFLAGS += $(LLVM_CXXFLAGS)
+CXXFLAGS += $(LLVM_CXXFLAGS) $(PERMIT_CXX_SHADOW)
override CPPFLAGS += $(LLVM_CPPFLAGS)
SHLIB_LINK += $(LLVM_LIBS)
diff --git a/src/backend/jit/llvm/meson.build b/src/backend/jit/llvm/meson.build
index 7df8453ad6f..dc2e129faf1 100644
--- a/src/backend/jit/llvm/meson.build
+++ b/src/backend/jit/llvm/meson.build
@@ -33,7 +33,7 @@ llvmjit = shared_module('llvmjit',
llvmjit_sources,
kwargs: pg_mod_args + {
'dependencies': pg_mod_args['dependencies'] + [llvm],
- 'cpp_args': pg_mod_args['cpp_args'] + llvm.get_variable(configtool:
'cxxflags').split(),
+ 'cpp_args': pg_mod_args['cpp_args'] + llvm.get_variable(configtool:
'cxxflags').split() + cxxflags_no_shadow,
}
)
diff --git a/src/makefiles/meson.build b/src/makefiles/meson.build
index 2401025d1cd..d0430b3519e 100644
--- a/src/makefiles/meson.build
+++ b/src/makefiles/meson.build
@@ -102,6 +102,8 @@ pgxs_kv = {
' '.join(cflags_no_decl_after_statement),
'PERMIT_MISSING_VARIABLE_DECLARATIONS':
' '.join(cflags_no_missing_var_decls),
+ 'PERMIT_CXX_SHADOW':
+ ' '.join(cxxflags_no_shadow),
'CFLAGS_CRC': ' '.join(cflags_crc),
'CFLAGS_UNROLL_LOOPS': ' '.join(unroll_loops_cflags),
base-commit: 2af020eacb8b74232a0570f72a05dd1f274f68de
--
2.55.0