svn commit: r229275 - in stable/9/sys: conf modules/ath

Dimitry Andric dim at FreeBSD.org
Mon Jan 2 13:01:58 UTC 2012


Author: dim
Date: Mon Jan  2 13:01:57 2012
New Revision: 229275
URL: http://svn.freebsd.org/changeset/base/229275

Log:
  MFC r228783:
  
    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 r228793:
  
    Amend r228783 by also disabling -Wshift-count-negative
    -Wshift-count-overflow warnings for the ath module.
  
  MFC r228818:
  
    Disable various warnings for the ath module in a more fine-grained way:
    only add the option for the specific .c files that need them, like via
    sys/conf/files.

Modified:
  stable/9/sys/conf/files
  stable/9/sys/conf/kern.mk
  stable/9/sys/modules/ath/Makefile
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/conf/   (props changed)

Modified: stable/9/sys/conf/files
==============================================================================
--- stable/9/sys/conf/files	Mon Jan  2 12:53:11 2012	(r229274)
+++ stable/9/sys/conf/files	Mon Jan  2 13:01:57 2012	(r229275)
@@ -611,7 +611,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: stable/9/sys/conf/kern.mk
==============================================================================
--- stable/9/sys/conf/kern.mk	Mon Jan  2 12:53:11 2012	(r229274)
+++ stable/9/sys/conf/kern.mk	Mon Jan  2 13:01:57 2012	(r229275)
@@ -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
 
 #

Modified: stable/9/sys/modules/ath/Makefile
==============================================================================
--- stable/9/sys/modules/ath/Makefile	Mon Jan  2 12:53:11 2012	(r229274)
+++ stable/9/sys/modules/ath/Makefile	Mon Jan  2 13:01:57 2012	(r229275)
@@ -144,3 +144,6 @@ opt_ah.h:
 	echo '#define AH_SUPPORT_AR5416 1' > $@
 
 .include <bsd.kmod.mk>
+
+CWARNFLAGS.ah_regdomain.c=	${NO_WSHIFT_COUNT_NEGATIVE} ${NO_WSHIFT_COUNT_OVERFLOW}
+CWARNFLAGS+=			${CWARNFLAGS.${.IMPSRC:T}}


More information about the svn-src-stable mailing list