Force erroneous inclusions of compiler-*.h files to be errors
[linux-2.6.git] / include / linux / compiler-gcc3.h
index a6fa615..2d8c0f4 100644 (file)
@@ -1,32 +1,26 @@
-/* Never include this file directly.  Include <linux/compiler.h> instead.  */
+#ifndef __LINUX_COMPILER_H
+#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
+#endif
 
 /* These definitions are for GCC v3.x.  */
 #include <linux/compiler-gcc.h>
 
-#if __GNUC_MINOR__ >= 1
-# define inline                inline          __attribute__((always_inline))
-# define __inline__    __inline__      __attribute__((always_inline))
-# define __inline      __inline        __attribute__((always_inline))
-#endif
-
-#if __GNUC_MINOR__ > 0
-# define __deprecated          __attribute__((deprecated))
-#endif
-
 #if __GNUC_MINOR__ >= 3
-# define __attribute_used__    __attribute__((__used__))
+# define __used                        __attribute__((__used__))
+# define __attribute_used__    __used                          /* deprecated */
 #else
-# define __attribute_used__    __attribute__((__unused__))
-#endif
-
-#define __attribute_pure__     __attribute__((pure))
-#define __attribute_const__    __attribute__((__const__))
-
-#if __GNUC_MINOR__ >= 1
-#define  noinline              __attribute__((noinline))
+# define __used                        __attribute__((__unused__))
+# define __attribute_used__    __used                          /* deprecated */
 #endif
 
 #if __GNUC_MINOR__ >= 4
 #define __must_check           __attribute__((warn_unused_result))
 #endif
 
+/*
+ * A trick to suppress uninitialized variable warning without generating any
+ * code
+ */
+#define uninitialized_var(x) x = x
+
+#define __always_inline                inline __attribute__((always_inline))