Don't we already build with -fwrapv for this class of problem? The GCC docs claim that warning is only active when signed overflow is undefined. It seems that -fno-strict-overflow has similar semantics to -fwrapv, but we should probably be consistent about the flag we use. Also, if GCC is producing this warning, I think Clang needs the same flag.
Best, Conrad On Sun, Nov 24, 2019 at 7:03 AM Li-Wen Hsu <lw...@freebsd.org> wrote: > > Author: lwhsu > Date: Sun Nov 24 15:03:35 2019 > New Revision: 355055 > URL: https://svnweb.freebsd.org/changeset/base/355055 > > Log: > Fix gcc build > > We have -Werror=strict-overflow so gcc complains: > > In file included from > /tmp/obj/workspace/src/amd64.amd64/tmp/usr/include/bitstring.h:36:0, > from /workspace/src/tests/sys/sys/bitstring_test.c:34: > /workspace/src/tests/sys/sys/bitstring_test.c: In function > 'bit_ffc_at_test': > /workspace/src/sys/sys/bitstring.h:239:5: error: assuming signed overflow > does not occur when assuming that (X + c) >= X is always true > [-Werror=strict-overflow] > if (_start >= _nbits) { > ^ > > Disable assuming overflow of signed integer will never happen by specifying > -fno-strict-overflow > > Sponsored by: The FreeBSD Foundation > > Modified: > head/tests/sys/sys/Makefile > > Modified: head/tests/sys/sys/Makefile > ============================================================================== > --- head/tests/sys/sys/Makefile Sun Nov 24 13:53:36 2019 (r355054) > +++ head/tests/sys/sys/Makefile Sun Nov 24 15:03:35 2019 (r355055) > @@ -1,9 +1,15 @@ > # $FreeBSD$ > > +.include <bsd.compiler.mk> > + > TESTSDIR= ${TESTSBASE}/sys/sys > > ATF_TESTS_C= arb_test bitstring_test qmath_test rb_test splay_test > > WARNS?= 5 > + > +.if ${COMPILER_TYPE} == "gcc" > +CFLAGS.bitstring_test= -fno-strict-overflow > +.endif > > .include <bsd.test.mk> _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"