compiler: Introduce __always_unused
authorLi Zefan <lizf@cn.fujitsu.com>
Mon, 2 Nov 2009 00:50:52 +0000 (08:50 +0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 2 Nov 2009 14:47:54 +0000 (15:47 +0100)
I wrote some code which is used as compile-time checker, and the
code should be elided after compile.

So I need to annotate the code as "always unused", compared to
"maybe unused".

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
LKML-Reference: <4AEE2CEC.8040206@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/compiler-gcc.h
include/linux/compiler.h

index a3ed7cb..73dcf80 100644 (file)
@@ -79,6 +79,7 @@
 #define  noinline                      __attribute__((noinline))
 #define __attribute_const__            __attribute__((__const__))
 #define __maybe_unused                 __attribute__((unused))
+#define __always_unused                        __attribute__((unused))
 
 #define __gcc_header(x) #x
 #define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
index 04fb513..7947f4f 100644 (file)
@@ -213,6 +213,10 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
 # define __maybe_unused                /* unimplemented */
 #endif
 
+#ifndef __always_unused
+# define __always_unused       /* unimplemented */
+#endif
+
 #ifndef noinline
 #define noinline
 #endif