compiler-clang.h 793 B

12345678910111213141516171819202122232425
  1. #ifndef __LINUX_COMPILER_H
  2. #error "Please don't include <linux/compiler-clang.h> directly, include <linux/compiler.h> instead."
  3. #endif
  4. /* Some compiler specific definitions are overwritten here
  5. * for Clang compiler
  6. */
  7. #ifdef uninitialized_var
  8. #undef uninitialized_var
  9. #define uninitialized_var(x) x = *(&(x))
  10. #endif
  11. /* same as gcc, this was present in clang-2.6 so we can assume it works
  12. * with any version that can compile the kernel
  13. */
  14. #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
  15. /*
  16. * GCC does not warn about unused static inline functions for
  17. * -Wunused-function. This turns out to avoid the need for complex #ifdef
  18. * directives. Suppress the warning in clang as well.
  19. */
  20. #undef inline
  21. #define inline inline __attribute__((unused)) notrace