Re: Build failure: -Wno-unused-const-variable DNE on old GCC
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2016-01-08 02:16:32
Also in:
lkml
On Thu, 2016-01-07 at 18:07 -0800, Brian Norris wrote:
On Fri, Jan 08, 2016 at 12:31:54PM +1100, Ian Munsie wrote:quoted
Excerpts from Brian Norris's message of 2016-01-08 10:02:25 +1100:quoted
quoted
- It forces cxl developers to a higher standard. cxl has already had more than it's fair share of incredibly difficult to debug issues, so any way we can reduce the risk of errors going in makes our lives (and our end-users lives) better.One problem with this point: not all warnings are under the purview of cxl developers. For instance, if I turn up warning verbosity (W=1), then(BTW, I think most of these files are currently clean with W=1, but not W=2)
quoted
quoted
the *header* files start producing plenty of warnings. Should this break the build? Your code didn't change, and you can't fix those errors.That's a good point, but the specific warnings that we suppressed in the new compiler are in drivers/misc/cxl/cxl.h, which is an internal header that should only ever be included by the cxl driver. We do have some headers elsewhere which are included by other drivers, the generic ppc architecture code and userspace, but these are all warning free and won't be affected by the -Werror when included from elsewhere.I was referring to when extra warnings are turned on, not just the default. So this fails spectacularly: $ export ARCH=powerpc $ make ppc64_defconfig $ make drivers/misc/cxl/api.o W=2 CC [M] drivers/misc/cxl/api.o In file included from include/linux/bitops.h:36:0, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/pci.h:25, from drivers/misc/cxl/api.c:10: ./arch/powerpc/include/asm/bitops.h:226:94: error: declaration of 'ffs' shadows a built-in function [-Werror=shadow]
I doubt you plan to fix all those. So making -Werror configurable seems like the only way forward, then. (Glad you agreed!)
Yep, I'm happy to make Werror configurable. cxl can probably just use the existing PPC_WERROR. cheers