Revert r357349, since the clang 10.0.0 warning was actually correct, and

the ! operator should have been a ~ instead:

  Merge r357348 from the clang 10.0.0 import branch:

  Disable new clang 10.0.0 warnings about converting the result of
  shift operations to a boolean in tpm(4):

  sys/dev/tpm/tpm_crb.c:301:32: error: converting the result of '<<' to a boolean; did you mean '(1 << (0)) != 0'? [-Werror,-Wint-in-bool-context]
	  WR4(sc, TPM_CRB_CTRL_CANCEL, !TPM_CRB_CTRL_CANCEL_CMD);
					^
  sys/dev/tpm/tpm_crb.c:73:34: note: expanded from macro 'TPM_CRB_CTRL_CANCEL_CMD'
  #define TPM_CRB_CTRL_CANCEL_CMD         BIT(0)
					  ^
  sys/dev/tpm/tpm20.h:60:19: note: expanded from macro 'BIT'
  #define BIT(x) (1 << (x))
		    ^

  Such warnings can be useful in C++ contexts, but not so much in kernel
  drivers, where this type of bit twiddling is commonplace.  So disable
  it for this case.

Noticed by:	cem
MFC after:	3 days
This commit is contained in:
Dimitry Andric 2020-02-01 16:57:04 +00:00
parent 7bde621ba3
commit f6d5b31f8b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=357366
3 changed files with 1 additions and 7 deletions

View File

@ -323,8 +323,7 @@ dev/syscons/scvesactl.c optional sc vga vesa
dev/syscons/scvgarndr.c optional sc vga
dev/tpm/tpm.c optional tpm
dev/tpm/tpm20.c optional tpm
dev/tpm/tpm_crb.c optional tpm acpi \
compile-with "${NORMAL_C} ${NO_WINT_IN_BOOL_CONTEXT}"
dev/tpm/tpm_crb.c optional tpm acpi
dev/tpm/tpm_tis.c optional tpm acpi
dev/tpm/tpm_acpi.c optional tpm acpi
dev/tpm/tpm_isa.c optional tpm isa

View File

@ -37,9 +37,6 @@ CWARNEXTRA+= -Wno-error-shift-negative-value
.if ${COMPILER_VERSION} >= 40000
CWARNEXTRA+= -Wno-address-of-packed-member
.endif
.if ${COMPILER_VERSION} >= 100000
NO_WINT_IN_BOOL_CONTEXT= -Wno-int-in-bool-context
.endif
.endif
.if ${COMPILER_TYPE} == "gcc"

View File

@ -11,5 +11,3 @@ SRCS+= tpm_isa.c tpm_acpi.c isa_if.h opt_acpi.h acpi_if.h
SRCS+= tpm20.c tpm_crb.c tpm_tis.c opt_tpm.h
.include <bsd.kmod.mk>
CWARNFLAGS.tpm_crb.c+= ${NO_WINT_IN_BOOL_CONTEXT}