Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Dec 2011 00:43:14 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Dimitry Andric <dim@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r228783 - head/sys/conf
Message-ID:  <CAJ-VmomCntp_OM9yEFJvmK3DP37%2BEhJcVQzkL3MH9UYucR0j6Q@mail.gmail.com>
In-Reply-To: <201112211701.pBLH1DpL077981@svn.freebsd.org>
References:  <201112211701.pBLH1DpL077981@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

.. and once this LLVM regression has been fixed, do you plan on
reverting this change to conf?


Adrian

On 21 December 2011 09:01, Dimitry Andric <dim@freebsd.org> wrote:
> Author: dim
> Date: Wed Dec 21 17:01:13 2011
> New Revision: 228783
> URL: http://svn.freebsd.org/changeset/base/228783
>
> Log:
>  When building with clang, disable -Wshift-count-negative and
>  -Wshift-count-overflow for sys/dev/ath/ath_hal/ah_regdomain.c, as it
>  gets multiple instances of the following warnings:
>
>  In file included from sys/dev/ath/ath_hal/ah_regdomain.c:99:
>  sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:69:15: warning: shift count is negative [-Wshift-count-negative]
>           .chan11a               = BM4(F1_4950_4980,
>                                    ^~~~~~~~~~~~~~~~~
>  sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:41:4: note: expanded from:
>            W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) }
>            ^
>  sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:34:45: note: expanded from:
>          (((_a) > 63 && (_a) < 128 ? (((uint64_t) 1)<<((_a)-64)) : (uint64_t) 0))
>                                                     ^ ~~~~~~~~~
>
>  and:
>
>  In file included from sys/dev/ath/ath_hal/ah_regdomain.c:99:
>  sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:629:15: error: shift count >= width of type [-Werror,-Wshift-count-overflow]
>           .chan11a               = BM4(W2_5260_5320,
>                                    ^~~~~~~~~~~~~~~~~
>  sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:40:34: note: expanded from:
>          { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd),                        \
>                                          ^
>  sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:32:44: note: expanded from:
>          (((_a) >= 0 && (_a) < 64 ? (((uint64_t) 1)<<(_a)) : (uint64_t) 0))
>                                                    ^ ~~~~
>
>  Both warnings are false positives, caused by LLVM PR 10030.  For global
>  initializations, clang fails to detect that the branch of the ternary
>  operator causing the warning is dead.
>
>  MFC after:    1 week
>
> Modified:
>  head/sys/conf/files
>  head/sys/conf/kern.mk
>
> Modified: head/sys/conf/files
> ==============================================================================
> --- head/sys/conf/files Wed Dec 21 16:47:01 2011        (r228782)
> +++ head/sys/conf/files Wed Dec 21 17:01:13 2011       (r228783)
> @@ -613,7 +613,7 @@ dev/ath/ath_hal/ah_eeprom_9287.c \
>        optional ath_hal | ath_ar9287 \
>        compile-with "${NORMAL_C} -I$S/dev/ath"
>  dev/ath/ath_hal/ah_regdomain.c optional ath \
> -       compile-with "${NORMAL_C} -I$S/dev/ath"
> +       compile-with "${NORMAL_C} ${NO_WSHIFT_COUNT_NEGATIVE} ${NO_WSHIFT_COUNT_OVERFLOW} -I$S/dev/ath"
>  # ar5210
>  dev/ath/ath_hal/ar5210/ar5210_attach.c         optional ath_hal | ath_ar5210 \
>        compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
>
> Modified: head/sys/conf/kern.mk
> ==============================================================================
> --- head/sys/conf/kern.mk       Wed Dec 21 16:47:01 2011        (r228782)
> +++ head/sys/conf/kern.mk       Wed Dec 21 17:01:13 2011       (r228783)
> @@ -17,6 +17,8 @@ CWARNFLAGS?=  -Wall -Wredundant-decls -Wn
>  .if ${CC:T:Mclang} == "clang"
>  NO_WCONSTANT_CONVERSION=       -Wno-constant-conversion
>  NO_WARRAY_BOUNDS=              -Wno-array-bounds
> +NO_WSHIFT_COUNT_NEGATIVE=      -Wno-shift-count-negative
> +NO_WSHIFT_COUNT_OVERFLOW=      -Wno-shift-count-overflow
>  .endif
>
>  #



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomCntp_OM9yEFJvmK3DP37%2BEhJcVQzkL3MH9UYucR0j6Q>