Eliminate uninitialized variable warnings in kernel and module builds when

building with gcc 4.2

This has been requested several times over the past few months by several
people (including me), because gcc 4.2 just gets it wrong too often.  It's
causing us to litter the code with lots of bogus initializers just to
squelch the warnings.  We still have clang and coverity telling us about
uninitialized variables, and they do so more accurately.
This commit is contained in:
Ian Lepore 2015-01-04 20:08:24 +00:00
parent 5b326a32ce
commit bbae23a725
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=276666

View File

@ -31,7 +31,8 @@ CWARNEXTRA?= -Wno-error-tautological-compare -Wno-error-empty-body \
-Wno-error-pointer-sign -Wno-error-format -Wno-error-parentheses -Wno-error-pointer-sign -Wno-error-format -Wno-error-parentheses
.endif .endif
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 40300 .if ${COMPILER_TYPE} == "gcc"
.if ${COMPILER_VERSION} >= 40300
# Catch-all for all the things that are in our tree, but for which we're # Catch-all for all the things that are in our tree, but for which we're
# not yet ready for this compiler. Note: we likely only really "support" # not yet ready for this compiler. Note: we likely only really "support"
# building with gcc 4.8 and newer. Nothing older has been tested. # building with gcc 4.8 and newer. Nothing older has been tested.
@ -40,6 +41,10 @@ CWARNEXTRA?= -Wno-error=inline -Wno-error=enum-compare -Wno-error=unused-but-set
-Wno-error=array-bounds -Wno-error=address \ -Wno-error=array-bounds -Wno-error=address \
-Wno-error=cast-qual -Wno-error=sequence-point -Wno-error=attributes \ -Wno-error=cast-qual -Wno-error=sequence-point -Wno-error=attributes \
-Wno-error=strict-overflow -Wno-error=overflow -Wno-error=strict-overflow -Wno-error=overflow
.else
# For gcc 4.2, eliminate the too-often-wrong warnings about uninitialized vars.
CWARNEXTRA?= -Wno-uninitialized
.endif
.endif .endif
# External compilers may not support our format extensions. Allow them # External compilers may not support our format extensions. Allow them