When building with clang, disable -Warray-bounds for sys/dev/asr/asr.c,

as it gets the following warning:

sys/dev/asr/asr.c:1836:29: warning: array index of '58' indexes past the end of an array (that contains 1 element) [-Warray-bounds]
        while ((len > 0) && (sg < &((PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE)
                                   ^
sys/dev/asr/i2omsg.h:934:8: note: array 'Simple' declared here
       I2O_SGE_SIMPLE_ELEMENT              Simple[1];
       ^

This is a false positive, since I2O_SG_ELEMENT::Simple is not declared
as a C99 flexible array member, but in the old (but more portable) way.
At run-time, the proper number of array elements will hopefully have
been allocated.

MFC after:	1 week
This commit is contained in:
Dimitry Andric 2011-12-21 16:38:37 +00:00
parent 05a636f0bd
commit fea858696e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=228781
2 changed files with 3 additions and 1 deletions

View file

@ -531,7 +531,8 @@ dev/an/if_an.c optional an
dev/an/if_an_isa.c optional an isa
dev/an/if_an_pccard.c optional an pccard
dev/an/if_an_pci.c optional an pci
dev/asr/asr.c optional asr pci
dev/asr/asr.c optional asr pci \
compile-with "${NORMAL_C} ${NO_WARRAY_BOUNDS}"
#
dev/ata/ata_if.m optional ata | atacore
dev/ata/ata-all.c optional ata | atacore

View file

@ -16,6 +16,7 @@ CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
# a false positive.
.if ${CC:T:Mclang} == "clang"
NO_WCONSTANT_CONVERSION= -Wno-constant-conversion
NO_WARRAY_BOUNDS= -Wno-array-bounds
.endif
#