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"

Reply via email to