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