types.h 594 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "stdint.h"
  3. #define __user
  4. #ifdef __GNUC__
  5. #define NORETURN __attribute__((noreturn))
  6. #else
  7. #error "no definition for ((NORETURN))"
  8. #endif
  9. #ifdef __GNUC__
  10. #define SECTION(x) __attribute__((section(x)))
  11. #else
  12. #error "no definition for ((SECTION))"
  13. #endif
  14. #ifdef __GNUC__
  15. #define PACKED __attribute__((__packed__))
  16. #else
  17. #error "no definition for ((PACKED))"
  18. #endif
  19. #ifdef __GNUC__
  20. #define likely(expr) (__builtin_expect(!!(expr), 1))
  21. #define unlikely(expr) (__builtin_expect(!!(expr), 0))
  22. #else
  23. #define likely(expr) (!!(expr))
  24. #define unlikely(expr) (!!(expr))
  25. #endif