mirror of
https://github.com/postgres/postgres.git
synced 2025-04-20 00:42:27 +03:00
Use -Wno-format-truncation and -Wno-stringop-truncation, if available.
gcc 8 has started emitting some warnings that are largely useless for our purposes, particularly since they complain about code following the project-standard coding convention that path names are assumed to be shorter than MAXPGPATH. Even if we make the effort to remove that assumption in some future release, the changes wouldn't get back-patched. Hence, just suppress these warnings, on compilers that have these switches. Backpatch to all supported branches. Discussion: https://postgr.es/m/1524563856.26306.9.camel@gunduz.org
This commit is contained in:
parent
537d7f3e18
commit
ec5547e563
130
configure
vendored
130
configure
vendored
@ -4508,6 +4508,7 @@ fi
|
|||||||
# We want to suppress clang's unhelpful unused-command-line-argument warnings
|
# We want to suppress clang's unhelpful unused-command-line-argument warnings
|
||||||
# but gcc won't complain about unrecognized -Wno-foo switches, so we have to
|
# but gcc won't complain about unrecognized -Wno-foo switches, so we have to
|
||||||
# test for the positive form and if that works, add the negative form
|
# test for the positive form and if that works, add the negative form
|
||||||
|
NOT_THE_CFLAGS=""
|
||||||
{ $as_echo "$as_me:$LINENO: checking whether $CC supports -Wunused-command-line-argument" >&5
|
{ $as_echo "$as_me:$LINENO: checking whether $CC supports -Wunused-command-line-argument" >&5
|
||||||
$as_echo_n "checking whether $CC supports -Wunused-command-line-argument... " >&6; }
|
$as_echo_n "checking whether $CC supports -Wunused-command-line-argument... " >&6; }
|
||||||
if test "${pgac_cv_prog_cc_cflags__Wunused_command_line_argument+set}" = set; then
|
if test "${pgac_cv_prog_cc_cflags__Wunused_command_line_argument+set}" = set; then
|
||||||
@ -4571,6 +4572,135 @@ fi
|
|||||||
if test -n "$NOT_THE_CFLAGS"; then
|
if test -n "$NOT_THE_CFLAGS"; then
|
||||||
CFLAGS="$CFLAGS -Wno-unused-command-line-argument"
|
CFLAGS="$CFLAGS -Wno-unused-command-line-argument"
|
||||||
fi
|
fi
|
||||||
|
# Similarly disable useless truncation warnings from gcc 8+
|
||||||
|
NOT_THE_CFLAGS=""
|
||||||
|
{ $as_echo "$as_me:$LINENO: checking whether $CC supports -Wformat-truncation" >&5
|
||||||
|
$as_echo_n "checking whether $CC supports -Wformat-truncation... " >&6; }
|
||||||
|
if test "${pgac_cv_prog_cc_cflags__Wformat_truncation+set}" = set; then
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
pgac_save_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="$pgac_save_CFLAGS -Wformat-truncation"
|
||||||
|
ac_save_c_werror_flag=$ac_c_werror_flag
|
||||||
|
ac_c_werror_flag=yes
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext
|
||||||
|
if { (ac_try="$ac_compile"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||||
|
$as_echo "$ac_try_echo") >&5
|
||||||
|
(eval "$ac_compile") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } && {
|
||||||
|
test -z "$ac_c_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
} && test -s conftest.$ac_objext; then
|
||||||
|
pgac_cv_prog_cc_cflags__Wformat_truncation=yes
|
||||||
|
else
|
||||||
|
$as_echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
pgac_cv_prog_cc_cflags__Wformat_truncation=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"
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:$LINENO: result: $pgac_cv_prog_cc_cflags__Wformat_truncation" >&5
|
||||||
|
$as_echo "$pgac_cv_prog_cc_cflags__Wformat_truncation" >&6; }
|
||||||
|
if test x"$pgac_cv_prog_cc_cflags__Wformat_truncation" = x"yes"; then
|
||||||
|
NOT_THE_CFLAGS="${NOT_THE_CFLAGS} -Wformat-truncation"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$NOT_THE_CFLAGS"; then
|
||||||
|
CFLAGS="$CFLAGS -Wno-format-truncation"
|
||||||
|
fi
|
||||||
|
NOT_THE_CFLAGS=""
|
||||||
|
{ $as_echo "$as_me:$LINENO: checking whether $CC supports -Wstringop-truncation" >&5
|
||||||
|
$as_echo_n "checking whether $CC supports -Wstringop-truncation... " >&6; }
|
||||||
|
if test "${pgac_cv_prog_cc_cflags__Wstringop_truncation+set}" = set; then
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
pgac_save_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="$pgac_save_CFLAGS -Wstringop-truncation"
|
||||||
|
ac_save_c_werror_flag=$ac_c_werror_flag
|
||||||
|
ac_c_werror_flag=yes
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext
|
||||||
|
if { (ac_try="$ac_compile"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||||
|
$as_echo "$ac_try_echo") >&5
|
||||||
|
(eval "$ac_compile") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } && {
|
||||||
|
test -z "$ac_c_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
} && test -s conftest.$ac_objext; then
|
||||||
|
pgac_cv_prog_cc_cflags__Wstringop_truncation=yes
|
||||||
|
else
|
||||||
|
$as_echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
pgac_cv_prog_cc_cflags__Wstringop_truncation=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"
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:$LINENO: result: $pgac_cv_prog_cc_cflags__Wstringop_truncation" >&5
|
||||||
|
$as_echo "$pgac_cv_prog_cc_cflags__Wstringop_truncation" >&6; }
|
||||||
|
if test x"$pgac_cv_prog_cc_cflags__Wstringop_truncation" = x"yes"; then
|
||||||
|
NOT_THE_CFLAGS="${NOT_THE_CFLAGS} -Wstringop-truncation"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$NOT_THE_CFLAGS"; then
|
||||||
|
CFLAGS="$CFLAGS -Wno-stringop-truncation"
|
||||||
|
fi
|
||||||
elif test "$ICC" = yes; then
|
elif test "$ICC" = yes; then
|
||||||
# Intel's compiler has a bug/misoptimization in checking for
|
# Intel's compiler has a bug/misoptimization in checking for
|
||||||
# division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS.
|
# division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS.
|
||||||
|
12
configure.in
12
configure.in
@ -430,10 +430,22 @@ if test "$GCC" = yes -a "$ICC" = no; then
|
|||||||
# We want to suppress clang's unhelpful unused-command-line-argument warnings
|
# We want to suppress clang's unhelpful unused-command-line-argument warnings
|
||||||
# but gcc won't complain about unrecognized -Wno-foo switches, so we have to
|
# but gcc won't complain about unrecognized -Wno-foo switches, so we have to
|
||||||
# test for the positive form and if that works, add the negative form
|
# test for the positive form and if that works, add the negative form
|
||||||
|
NOT_THE_CFLAGS=""
|
||||||
PGAC_PROG_CC_VAR_OPT(NOT_THE_CFLAGS, [-Wunused-command-line-argument])
|
PGAC_PROG_CC_VAR_OPT(NOT_THE_CFLAGS, [-Wunused-command-line-argument])
|
||||||
if test -n "$NOT_THE_CFLAGS"; then
|
if test -n "$NOT_THE_CFLAGS"; then
|
||||||
CFLAGS="$CFLAGS -Wno-unused-command-line-argument"
|
CFLAGS="$CFLAGS -Wno-unused-command-line-argument"
|
||||||
fi
|
fi
|
||||||
|
# Similarly disable useless truncation warnings from gcc 8+
|
||||||
|
NOT_THE_CFLAGS=""
|
||||||
|
PGAC_PROG_CC_VAR_OPT(NOT_THE_CFLAGS, [-Wformat-truncation])
|
||||||
|
if test -n "$NOT_THE_CFLAGS"; then
|
||||||
|
CFLAGS="$CFLAGS -Wno-format-truncation"
|
||||||
|
fi
|
||||||
|
NOT_THE_CFLAGS=""
|
||||||
|
PGAC_PROG_CC_VAR_OPT(NOT_THE_CFLAGS, [-Wstringop-truncation])
|
||||||
|
if test -n "$NOT_THE_CFLAGS"; then
|
||||||
|
CFLAGS="$CFLAGS -Wno-stringop-truncation"
|
||||||
|
fi
|
||||||
elif test "$ICC" = yes; then
|
elif test "$ICC" = yes; then
|
||||||
# Intel's compiler has a bug/misoptimization in checking for
|
# Intel's compiler has a bug/misoptimization in checking for
|
||||||
# division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS.
|
# division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user