public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] module: LLVMLinux: Remove unused function warning from __param_check macro
@ 2014-03-07 19:08 behanw
  2014-03-07 22:56 ` PaX Team
  2014-03-11  6:11 ` [PATCH] " Rusty Russell
  0 siblings, 2 replies; 12+ messages in thread
From: behanw @ 2014-03-07 19:08 UTC (permalink / raw)
  To: khali, rostedt
  Cc: rusty, linux-kernel, dwmw2, pageexec, Mark Charlebois,
	Behan Webster

From: Mark Charlebois <charlebm@gmail.com>

This code makes a compile time type check that is optimized away. Clang
complains that it generates an unused function.

I believe GCC won't complain for a static inline fuction but would if it
was just a static function.

Adding the unused attribute to the function declaration removes the warning.

This code works for both gcc and clang.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Signed-off-by: Behan Webster <behanw@converseincode.com>
---
 include/linux/moduleparam.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h
index c3eb102..5ce1f67 100644
--- a/include/linux/moduleparam.h
+++ b/include/linux/moduleparam.h
@@ -346,6 +346,7 @@ static inline void destroy_params(const struct kernel_param *params,
 /* The macros to do compile-time type checking stolen from Jakub
    Jelinek, who IIRC came up with this idea for the 2.4 module init code. */
 #define __param_check(name, p, type) \
+	static inline type *__check_##name(void) __attribute__ ((unused)); \
 	static inline type *__check_##name(void) { return(p); }
 
 extern struct kernel_param_ops param_ops_byte;
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-03-17  4:39 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-07 19:08 [PATCH] module: LLVMLinux: Remove unused function warning from __param_check macro behanw
2014-03-07 22:56 ` PaX Team
2014-03-08  0:52   ` Behan Webster
2014-03-08  1:25     ` PaX Team
2014-03-08  1:35       ` Stephen Boyd
2014-03-08  2:10         ` [PATCH v2] " behanw
2014-03-08  2:17           ` Joe Perches
2014-03-08  2:21             ` Behan Webster
2014-03-11  6:11 ` [PATCH] " Rusty Russell
2014-03-11  7:00   ` Behan Webster
2014-03-11 21:24   ` [PATCH v3] " behanw
2014-03-17  2:47     ` Rusty Russell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox