tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Fixing lint warnings
On Thu, 22 Mar 2012, Joerg Sonnenberger wrote:
So let's do this properly. Many of this changes are just
bogus. I still haven't seen a single case that wouldn't be
handled by the compiler as well. So I want to request:
(a) Disabling lint completely. It is noise, it creates a lot
harder to follow diagnostics than either gcc or clang, it adds
no real value as compiler.
(b) Revert all changes to appease lint that don't also trigger
a warning with at least -Wconversion -Wno-error=conversion or
similar warning.
(c) Consider adding the above flags to the build by default.
(d) Check if the ABI compliance checker fills all the needs for
ABI consistency lint provided, few as they were.
(e) Add a GSoC project or funded project to implement equivalent
functionality either based on DWARF or libclang to the base
system.
In the long term, I think that we should consider replacing lint,
but I have no concrete suggestions.
In the medium term, I think that we should continue to use lint,
and to fix problems that it reports. However, some of the things
that it reports are not real problems, but are bogus warnings that
are traceable to limitations in the analysis done by lint, and
these should not simply be silenced by adding casts.
In cases where humans think that the lint warnings are bogus, I'd
like us to silence the warnings in one of these ways:
a) Improve the analysis done by lint, so that it no longer issues
the bogus warnings;
b) Enhance the way /*LINTED*/ comments work, so that the "247" in
/* LINTED 247 pointer casts may be troublesome */ actually means
something; then add such comments to suppress warnings on a
per-line-per-warning basis.
c) Even if (b) is not done, use /*LINTED*/ comments to suppress
warnings on a per-line basis.
d) Use Makefile variables like "LINTFLAGS.filename += -X 247"
to suppress warnings on a per-file-per-warning basis.
e) Do not add casts merely to silence bogus warnings. Add
casts only where they improve the readability, portability,
correctness, or style of the code.
In the short term, leaving the tree in a state where it does not
build is bad. If passing the "-w" flag to lint causes build
failures that cannot be fixed very quickly, then I think we should
stop passing the"-w" flag to lint.
--apb (Alan Barrett)
Home |
Main Index |
Thread Index |
Old Index