svn commit: r355055 - head/tests/sys/sys

Conrad Meyer cem at freebsd.org
Sun Nov 24 21:15:10 UTC 2019


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 <lwhsu at 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>


More information about the svn-src-all mailing list