Messages in this thread | | | Date | Wed, 24 May 2017 14:22:29 -0700 | From | Matthias Kaehlcke <> | Subject | Re: [patch] compiler, clang: suppress warning for unused static inline functions |
| |
El Wed, May 24, 2017 at 02:01:15PM -0700 David Rientjes ha dit:
> GCC explicitly does not warn for unused static inline functions for > -Wunused-function. The manual states: > > Warn whenever a static function is declared but not defined or > a non-inline static function is unused. > > Clang does warn for static inline functions that are unused. > > It turns out that suppressing the warnings avoids potentially complex > #ifdef directives, which also reduces LOC. > > Supress the warning for clang. > > Signed-off-by: David Rientjes <rientjes@google.com> > ---
As expressed earlier in other threads, I don't think gcc's behavior is preferable in this case. The warning on static inline functions (only in .c files) allows to detect truly unused code. About 50% of the warnings I have looked into so far fall into this category.
In my opinion it is more valuable to detect dead code than not having a few more __maybe_unused attributes (there aren't really that many instances, at least with x86 and arm64 defconfig). In most cases it is not necessary to use #ifdef, it is an option which is preferred by some maintainers. The reduced LOC is arguable, since dectecting dead code allows to remove it.
I'm not a kernel maintainer, so it's not my decision whether this warning should be silenced, my personal opinion is that it's benfits outweigh the inconveniences of dealing with half-false positives, generally caused by the heavy use of #ifdef by the kernel itself.
| |