diff options
Diffstat (limited to 'include/sbi')
-rw-r--r-- | include/sbi/sbi_types.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/sbi/sbi_types.h b/include/sbi/sbi_types.h index 38e3565..7fb1af7 100644 --- a/include/sbi/sbi_types.h +++ b/include/sbi/sbi_types.h @@ -68,8 +68,14 @@ typedef unsigned long physical_size_t; #define likely(x) __builtin_expect((x), 1) #define unlikely(x) __builtin_expect((x), 0) +#ifndef __has_builtin +#define __has_builtin(...) 0 +#endif + #undef offsetof -#ifdef __compiler_offsetof +#if __has_builtin(__builtin_offsetof) +#define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE,MEMBER) +#elif defined(__compiler_offsetof) #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE,MEMBER) #else #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) |