diff options
author | Mark Charlebois <charlebm@gmail.com> | 2014-03-17 03:48:26 +0100 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2014-03-17 05:24:50 +0100 |
commit | 0283f9a529c81e64bafea80d6d3e056d1c3f656d (patch) | |
tree | 731d8732ecdf213c44b7e61e44d9e636b93d2a9d /scripts/kallsyms.c | |
parent | Fix: module signature vs tracepoints: add new TAINT_UNSIGNED_MODULE (diff) | |
download | linux-0283f9a529c81e64bafea80d6d3e056d1c3f656d.tar.xz linux-0283f9a529c81e64bafea80d6d3e056d1c3f656d.zip |
module: LLVMLinux: Remove unused function warning from __param_check macro
This code makes a compile time type check that is optimized away. Clang
complains that it generates an unused function:
linux/kernel/panic.c:471:1: warning: unused function '__check_panic'
[-Wunused-function]
core_param(panic, panic_timeout, int, 0644);
^
linux/moduleparam.h:283:2: note: expanded from macro
'core_param'
param_check_##type(name, &(var)); \
^
<scratch space>:87:1: note: expanded from here
param_check_int
^
linux/moduleparam.h:369:34: note: expanded from macro
'param_check_int'
#define param_check_int(name, p) __param_check(name, p, int)
^
linux/moduleparam.h:349:22: note: expanded from macro
'__param_check'
static inline type *__check_##name(void) { return(p); }
^
<scratch space>:88:1: note: expanded from here
__check_panic
GCC won't complain for a static inline function but would if it was just
a static function.
Adding the unused attribute to the function declaration removes the warning.
Per request from Rusty Russell it is marked as __always_unused as the code
is meant to be optimized away.
This code works for both GCC and clang.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Signed-off-by: Behan Webster <behanw@converseincode.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'scripts/kallsyms.c')
0 files changed, 0 insertions, 0 deletions