Per Nathan, clang catches unused "static inline" functions in C files since commit 6863f5643dd7 ("kbuild: allow Clang to find unused static inline functions for W=1 build"). Linus said: > So I entirely ignore W=1 issues, because I think so many of the extra > warnings are bogus. > > But if this one in particular is causing more problems than most - > some teams do seem to use W=1 as part of their test builds - it's fine > to send me a patch that just moves bad warnings to W=2. > > And if anybody uses W=2 for their test builds, that's THEIR problem.. Here is the change to bump the warning from W=1 to W=2.
Showing the changes to include/linux (1 of 1 file). Show all
Unified · Split
| @@ -250,10 +250,9 @@ struct ftrace_likely_data { · 249 unmodified lines | |||
| 250 | /* | 250 | /* |
| 251 | * GCC does not warn about unused static inline functions for -Wunused-function. | 251 | * GCC does not warn about unused static inline functions for -Wunused-function. |
| 252 | * Suppress the warning in clang as well by using __maybe_unused, but enable it | 252 | * Suppress the warning in clang as well by using __maybe_unused, but enable it |
| 253 | * for W=1 build. This will allow clang to find unused functions. Remove the | 253 | * for W=2 build. This will allow clang to find unused functions. |
| 254 | * __inline_maybe_unused entirely after fixing most of -Wunused-function warnings. | ||
| 255 | */ | 254 | */ |
| 256 | #ifdef KBUILD_EXTRA_WARN1 | 255 | #ifdef KBUILD_EXTRA_WARN2 |
| 257 | #define __inline_maybe_unused | 256 | #define __inline_maybe_unused |
| 258 | #else | 257 | #else |
| 259 | #define __inline_maybe_unused __maybe_unused | 258 | #define __inline_maybe_unused __maybe_unused |