|  | #ifndef __LINUX_COMPILER_H | 
|  | #error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead." | 
|  | #endif | 
|  |  | 
|  | #if __GNUC_MINOR__ < 2 | 
|  | # error Sorry, your compiler is too old - please upgrade it. | 
|  | #endif | 
|  |  | 
|  | #if __GNUC_MINOR__ >= 3 | 
|  | # define __used			__attribute__((__used__)) | 
|  | #else | 
|  | # define __used			__attribute__((__unused__)) | 
|  | #endif | 
|  |  | 
|  | #if __GNUC_MINOR__ >= 4 | 
|  | #define __must_check		__attribute__((warn_unused_result)) | 
|  | #endif | 
|  |  | 
|  | #ifdef CONFIG_GCOV_KERNEL | 
|  | # if __GNUC_MINOR__ < 4 | 
|  | #   error "GCOV profiling support for gcc versions below 3.4 not included" | 
|  | # endif /* __GNUC_MINOR__ */ | 
|  | #endif /* CONFIG_GCOV_KERNEL */ | 
|  |  | 
|  | /* | 
|  | * A trick to suppress uninitialized variable warning without generating any | 
|  | * code | 
|  | */ | 
|  | #define uninitialized_var(x) x = x | 
|  |  | 
|  | #define __always_inline		inline __attribute__((always_inline)) |