svn commit: r228783 - head/sys/conf

Adrian Chadd adrian at freebsd.org
Thu Dec 22 08:43:16 UTC 2011


.. 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 at 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
>
>  #


More information about the svn-src-all mailing list