forked from mirrors/linux
		
	 6d53cefb18
			
		
	
	
		6d53cefb18
		
	
	
	
	
		
			
			Commit abb2ea7dfd ("compiler, clang: suppress warning for unused
static inline functions") just caused more warnings due to re-defining
the 'inline' macro.
So undef it before re-defining it, and also add the 'notrace' attribute
like the gcc version that this is overriding does.
Maybe this makes clang happier.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
	
			
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			793 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			793 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef __LINUX_COMPILER_H
 | |
| #error "Please don't include <linux/compiler-clang.h> directly, include <linux/compiler.h> instead."
 | |
| #endif
 | |
| 
 | |
| /* Some compiler specific definitions are overwritten here
 | |
|  * for Clang compiler
 | |
|  */
 | |
| 
 | |
| #ifdef uninitialized_var
 | |
| #undef uninitialized_var
 | |
| #define uninitialized_var(x) x = *(&(x))
 | |
| #endif
 | |
| 
 | |
| /* same as gcc, this was present in clang-2.6 so we can assume it works
 | |
|  * with any version that can compile the kernel
 | |
|  */
 | |
| #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
 | |
| 
 | |
| /*
 | |
|  * GCC does not warn about unused static inline functions for
 | |
|  * -Wunused-function.  This turns out to avoid the need for complex #ifdef
 | |
|  * directives.  Suppress the warning in clang as well.
 | |
|  */
 | |
| #undef inline
 | |
| #define inline inline __attribute__((unused)) notrace
 |