diff options
-rwxr-xr-x | configure | 44 | ||||
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | meson.build | 3 |
3 files changed, 53 insertions, 0 deletions
@@ -6611,6 +6611,50 @@ fi if test -n "$NOT_THE_CFLAGS"; then CFLAGS="$CFLAGS -Wno-stringop-truncation" fi + # Suppress clang 16's strict warnings about function casts + NOT_THE_CFLAGS="" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports -Wcast-function-type-strict, for NOT_THE_CFLAGS" >&5 +$as_echo_n "checking whether ${CC} supports -Wcast-function-type-strict, for NOT_THE_CFLAGS... " >&6; } +if ${pgac_cv_prog_CC_cflags__Wcast_function_type_strict+:} false; then : + $as_echo_n "(cached) " >&6 +else + pgac_save_CFLAGS=$CFLAGS +pgac_save_CC=$CC +CC=${CC} +CFLAGS="${NOT_THE_CFLAGS} -Wcast-function-type-strict" +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__Wcast_function_type_strict=yes +else + pgac_cv_prog_CC_cflags__Wcast_function_type_strict=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__Wcast_function_type_strict" >&5 +$as_echo "$pgac_cv_prog_CC_cflags__Wcast_function_type_strict" >&6; } +if test x"$pgac_cv_prog_CC_cflags__Wcast_function_type_strict" = x"yes"; then + NOT_THE_CFLAGS="${NOT_THE_CFLAGS} -Wcast-function-type-strict" +fi + + + if test -n "$NOT_THE_CFLAGS"; then + CFLAGS="$CFLAGS -Wno-cast-function-type-strict" + fi elif test "$ICC" = yes; then # Intel's compiler has a bug/misoptimization in checking for # division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS. diff --git a/configure.ac b/configure.ac index cfb10f59ce..4cd328fc83 100644 --- a/configure.ac +++ b/configure.ac @@ -573,6 +573,12 @@ if test "$GCC" = yes -a "$ICC" = no; then if test -n "$NOT_THE_CFLAGS"; then CFLAGS="$CFLAGS -Wno-stringop-truncation" fi + # Suppress clang 16's strict warnings about function casts + NOT_THE_CFLAGS="" + PGAC_PROG_CC_VAR_OPT(NOT_THE_CFLAGS, [-Wcast-function-type-strict]) + if test -n "$NOT_THE_CFLAGS"; then + CFLAGS="$CFLAGS -Wno-cast-function-type-strict" + fi elif test "$ICC" = yes; then # Intel's compiler has a bug/misoptimization in checking for # division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS. diff --git a/meson.build b/meson.build index a62d8171cc..9df8685dfd 100644 --- a/meson.build +++ b/meson.build @@ -1773,6 +1773,9 @@ negative_warning_flags = [ 'format-truncation', 'stringop-truncation', + # Suppress clang 16's strict warnings about function casts + 'cast-function-type-strict', + # To make warning_level=2 / -Wextra work, we'd need at least the following # 'clobbered', # 'missing-field-initializers', |