X-Git-Url: https://git.lttng.org/?p=urcu.git;a=blobdiff_plain;f=compiler.h;h=99972f30e2ba89726f663c78261f4e9203b6d026;hp=142b9a60fa98c011096a1fba025d962e63b07520;hb=3d7be7ca4e2451381a8fc8a00bd6d7dcbf3b678f;hpb=e72f49371b233637eaf143265a73c7322d0710fd diff --git a/compiler.h b/compiler.h index 142b9a6..99972f3 100644 --- a/compiler.h +++ b/compiler.h @@ -37,4 +37,14 @@ */ #define ACCESS_ONCE(x) (*(volatile typeof(x) *)&x) +#if (__GNUC__ == 4) +#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) +#endif + +#ifdef __compiler_offsetof +#define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) +#else +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) +#endif + #endif /* _COMPILER_H */