Date: Fri, 31 Jan 2020 13:13:45 -0800 From: Conrad Meyer <cem@freebsd.org> To: Dimitry Andric <dim@freebsd.org> Cc: src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org> Subject: Re: svn commit: r357349 - in head/sys: conf modules/tpm Message-ID: <CAG6CVpWy%2BA3MN47GyLoL5jvdT7pMABevg-L9w0o7HpZF9Vq5oQ@mail.gmail.com> In-Reply-To: <202001311936.00VJaEDP056807@repo.freebsd.org> References: <202001311936.00VJaEDP056807@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Dimitry, Do you think maybe the intent is to use ~TPM_CRB_CTRL_CANCEL_CMD instead? Plain "0" might also make sense. But I think the compiler is right here and the warning should not be disabled =E2=80=94 !BIT(foo) doesn't really make sense for a register. It happens to affect the right bit only because CANCEL_CMD is BIT(0). Thanks, Conrad On Fri, Jan 31, 2020 at 11:36 AM Dimitry Andric <dim@freebsd.org> wrote: > > Author: dim > Date: Fri Jan 31 19:36:14 2020 > New Revision: 357349 > URL: https://svnweb.freebsd.org/changeset/base/357349 > > Log: > 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)) !=3D 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_CA= NCEL_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 i= t > for this case. > > MFC after: 3 days > > Modified: > head/sys/conf/files.amd64 > head/sys/conf/kern.mk > head/sys/modules/tpm/Makefile > Directory Properties: > head/ (props changed) > > Modified: head/sys/conf/files.amd64 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/conf/files.amd64 Fri Jan 31 19:35:21 2020 (r357348) > +++ head/sys/conf/files.amd64 Fri Jan 31 19:36:14 2020 (r357349) > @@ -323,7 +323,8 @@ dev/syscons/scvesactl.c optional s= c 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 > +dev/tpm/tpm_crb.c optional tpm acpi \ > + compile-with "${NORMAL_C} ${NO_WINT_IN_BOOL_CONTEXT}" > dev/tpm/tpm_tis.c optional tpm acpi > dev/tpm/tpm_acpi.c optional tpm acpi > dev/tpm/tpm_isa.c optional tpm isa > > Modified: head/sys/conf/kern.mk > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/conf/kern.mk Fri Jan 31 19:35:21 2020 (r357348) > +++ head/sys/conf/kern.mk Fri Jan 31 19:36:14 2020 (r357349) > @@ -37,6 +37,9 @@ CWARNEXTRA+=3D -Wno-error-shift-negative-value > .if ${COMPILER_VERSION} >=3D 40000 > CWARNEXTRA+=3D -Wno-address-of-packed-member > .endif > +.if ${COMPILER_VERSION} >=3D 100000 > +NO_WINT_IN_BOOL_CONTEXT=3D -Wno-int-in-bool-context > +.endif > .endif > > .if ${COMPILER_TYPE} =3D=3D "gcc" > > Modified: head/sys/modules/tpm/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/modules/tpm/Makefile Fri Jan 31 19:35:21 2020 (= r357348) > +++ head/sys/modules/tpm/Makefile Fri Jan 31 19:36:14 2020 (= r357349) > @@ -11,3 +11,5 @@ SRCS+=3D tpm_isa.c tpm_acpi.c isa_if.h opt_acpi.= h acpi_i > SRCS+=3D tpm20.c tpm_crb.c tpm_tis.c opt_tpm.h > > .include <bsd.kmod.mk> > + > +CWARNFLAGS.tpm_crb.c+=3D ${NO_WINT_IN_BOOL_CONTEXT}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpWy%2BA3MN47GyLoL5jvdT7pMABevg-L9w0o7HpZF9Vq5oQ>