tools/compat: support all bsd.own.mk disabled warnings
Check the host CC support for all the warnings now in <bsd.own.mk> and override appropriately in defs.mk. In general there's a 1:1 mapping, with the special case CC_WNO_ADDRESS_OF_PACKED_MEMBER which is set from both @CC_WNO_ADDRESS_OF_PACKED_MEMBER@ (gcc) and @CC_WNO_ERROR_ADDRESS_OF_PACKED_MEMBER@ (clang).
This commit is contained in:
parent
c4b7a9e794
commit
97766c5b60
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: configure.ac,v 1.104 2023/05/30 18:54:21 lukem Exp $
|
||||
# $NetBSD: configure.ac,v 1.105 2023/06/03 09:10:13 lukem Exp $
|
||||
#
|
||||
# Autoconf definition file for libnbcompat.
|
||||
#
|
||||
|
@ -332,11 +332,16 @@ cc_fail_unknown=
|
|||
AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],
|
||||
[AS_VAR_APPEND([cc_fail_unknown], [-Werror=unknown-warning-option])])
|
||||
|
||||
dnl NB_CC_FLAG(FLAG)
|
||||
dnl Determine if HOST_CC supports FLAG, and
|
||||
dnl sets output variable VAR (derived from FLAG)
|
||||
dnl to FLAG if it is supported.
|
||||
dnl
|
||||
AC_DEFUN([NB_CC_FLAG], [dnl
|
||||
m4_pushdef([NB_FLAG], [$1])
|
||||
dnl gcc ignores unknown -Wno-WARN but will fail unknown equivalent -WWARN.
|
||||
m4_pushdef([NB_WFLAG], m4_bpatsubst(NB_FLAG, [^-Wno-], [-W]))
|
||||
m4_pushdef([NB_VAR], [CC]m4_translit(NB_FLAG, [-a-z], [_A-Z]))
|
||||
m4_pushdef([NB_VAR], [CC]m4_translit(NB_FLAG, [-=a-z], [__A-Z]))
|
||||
AX_CHECK_COMPILE_FLAG(NB_WFLAG, [AS_VAR_SET(NB_VAR,NB_FLAG)], [], [$cc_fail_unknown])
|
||||
AC_SUBST(NB_VAR)
|
||||
m4_append([NB_CC_FLAG_VARS], NB_VAR, [ ])
|
||||
|
@ -349,8 +354,14 @@ dnl Disable use of pre-compiled headers on Darwin.
|
|||
NB_CC_FLAG([-no-cpp-precomp])
|
||||
|
||||
dnl Detect HOST_CC support for <bsd.own.mk> CC_* warnings
|
||||
NB_CC_FLAG([-Wno-address-of-packed-member])
|
||||
NB_CC_FLAG([-Wno-cast-function-type])
|
||||
NB_CC_FLAG([-Wno-error=address-of-packed-member])
|
||||
NB_CC_FLAG([-Wno-format-overflow])
|
||||
NB_CC_FLAG([-Wno-format-truncation])
|
||||
NB_CC_FLAG([-Wno-implicit-fallthrough])
|
||||
NB_CC_FLAG([-Wno-maybe-uninitialized])
|
||||
NB_CC_FLAG([-Wno-return-local-addr])
|
||||
NB_CC_FLAG([-Wno-stringop-overflow])
|
||||
NB_CC_FLAG([-Wno-stringop-truncation])
|
||||
|
||||
|
@ -358,10 +369,8 @@ AC_OUTPUT()
|
|||
|
||||
dnl Display results
|
||||
dnl
|
||||
AC_MSG_NOTICE([========= Configuration results =========])
|
||||
AC_MSG_NOTICE([CC $CC])
|
||||
m4_foreach_w([NB_VAR], NB_CC_FLAG_VARS, [dnl
|
||||
AC_MSG_NOTICE(m4_format([%-32s],NB_VAR)[$NB_VAR])
|
||||
AC_MSG_NOTICE([============= Configuration results =============])
|
||||
m4_foreach_w([NB_VAR], [CC LIBS ]NB_CC_FLAG_VARS, [dnl
|
||||
AC_MSG_NOTICE(m4_format([%-40s],NB_VAR)[$NB_VAR])
|
||||
])
|
||||
AC_MSG_NOTICE([LIBS $LIBS])
|
||||
AC_MSG_NOTICE([=========================================])
|
||||
AC_MSG_NOTICE([================================================])
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: defs.mk.in,v 1.16 2023/06/03 09:09:16 lukem Exp $
|
||||
# $NetBSD: defs.mk.in,v 1.17 2023/06/03 09:10:13 lukem Exp $
|
||||
#
|
||||
# Makefile fragment for building with libnbcompat and associated
|
||||
# include files. It can also be used for building just with
|
||||
|
@ -75,8 +75,13 @@ HOST_CFLAGS+= @CC_NO_CPP_PRECOMP@
|
|||
|
||||
# Override HOST_CC support for <bsd.own.mk> CC_* warnings
|
||||
#
|
||||
CC_WNO_ADDRESS_OF_PACKED_MEMBER=@CC_WNO_ADDRESS_OF_PACKED_MEMBER@ @CC_WNO_ERROR_ADDRESS_OF_PACKED_MEMBER@
|
||||
CC_WNO_CAST_FUNCTION_TYPE=@CC_WNO_CAST_FUNCTION_TYPE@
|
||||
CC_WNO_FORMAT_OVERFLOW=@CC_WNO_FORMAT_OVERFLOW@
|
||||
CC_WNO_FORMAT_TRUNCATION=@CC_WNO_FORMAT_TRUNCATION@
|
||||
CC_WNO_IMPLICIT_FALLTHROUGH=@CC_WNO_IMPLICIT_FALLTHROUGH@
|
||||
CC_WNO_MAYBE_UNINITIALIZED=@CC_WNO_MAYBE_UNINITIALIZED@
|
||||
CC_WNO_RETURN_LOCAL_ADDR=@CC_WNO_RETURN_LOCAL_ADDR@
|
||||
CC_WNO_STRINGOP_OVERFLOW=@CC_WNO_STRINGOP_OVERFLOW@
|
||||
CC_WNO_STRINGOP_TRUNCATION=@CC_WNO_STRINGOP_TRUNCATION@
|
||||
|
||||
|
|
Loading…
Reference in New Issue