config: check for -Wno-cast-function-type
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Rich Ercolani <rincebrain@gmail.com> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #13145 Closes #13152
This commit is contained in:
parent
82226e4f44
commit
1ea68b6d38
|
@ -181,6 +181,32 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_NO_CLOBBERED], [
|
||||||
AC_SUBST([NO_CLOBBERED])
|
AC_SUBST([NO_CLOBBERED])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
dnl #
|
||||||
|
dnl # Check if gcc supports -Wno-cast-function-type option.
|
||||||
|
dnl #
|
||||||
|
dnl # We actually invoke gcc with the --cast-function-type option
|
||||||
|
dnl # and infer the 'no-' version does or doesn't exist based upon
|
||||||
|
dnl # the results. This is required because when checking any of
|
||||||
|
dnl # no- prefixed options gcc always returns success.
|
||||||
|
dnl #
|
||||||
|
AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_NO_CAST_FUNCTION_TYPE], [
|
||||||
|
AC_MSG_CHECKING([whether $CC supports -Wno-cast-function-type])
|
||||||
|
|
||||||
|
saved_flags="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -Werror -Wcast-function-type"
|
||||||
|
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
|
||||||
|
NO_CAST_FUNCTION_TYPE=-Wno-cast-function-type
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
], [
|
||||||
|
NO_CAST_FUNCTION_TYPE=
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
])
|
||||||
|
|
||||||
|
CFLAGS="$saved_flags"
|
||||||
|
AC_SUBST([NO_CAST_FUNCTION_TYPE])
|
||||||
|
])
|
||||||
|
|
||||||
dnl #
|
dnl #
|
||||||
dnl # Check if gcc supports -Wimplicit-fallthrough option.
|
dnl # Check if gcc supports -Wimplicit-fallthrough option.
|
||||||
dnl #
|
dnl #
|
||||||
|
|
|
@ -210,6 +210,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [
|
||||||
AC_SUBST(CPU_COUNT)
|
AC_SUBST(CPU_COUNT)
|
||||||
|
|
||||||
ZFS_AC_CONFIG_ALWAYS_CC_NO_CLOBBERED
|
ZFS_AC_CONFIG_ALWAYS_CC_NO_CLOBBERED
|
||||||
|
ZFS_AC_CONFIG_ALWAYS_CC_NO_CAST_FUNCTION_TYPE
|
||||||
ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH
|
ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH
|
||||||
ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN
|
ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN
|
||||||
ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION
|
ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION
|
||||||
|
|
|
@ -26,8 +26,8 @@ AM_CFLAGS += -DLIB_ZPOOL_BUILD
|
||||||
|
|
||||||
# For the void (*)(void *) -> void *(*)(void *) cast in zk_thread_create()
|
# For the void (*)(void *) -> void *(*)(void *) cast in zk_thread_create()
|
||||||
# See https://github.com/openzfs/zfs/pull/13110#discussion_r808450136
|
# See https://github.com/openzfs/zfs/pull/13110#discussion_r808450136
|
||||||
kernel.$(OBJEXT): CFLAGS += -Wno-cast-function-type
|
kernel.$(OBJEXT): CFLAGS += $(NO_CAST_FUNCTION_TYPE)
|
||||||
kernel.l$(OBJEXT): CFLAGS += -Wno-cast-function-type
|
kernel.l$(OBJEXT): CFLAGS += $(NO_CAST_FUNCTION_TYPE)
|
||||||
|
|
||||||
lib_LTLIBRARIES = libzpool.la
|
lib_LTLIBRARIES = libzpool.la
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue