Print this page
3373 gcc >= 4.5 concerns about offsetof()

@@ -42,12 +42,16 @@
 #include <string.h>
 #include <strings.h>
 #endif
 
 #ifndef offsetof
+#if defined(__GNUC__)
+#define offsetof(s, m)  __builtin_offsetof(s, m)
+#else
 #define offsetof(s, m)  ((size_t)(&(((s *)0)->m)))
 #endif
+#endif
 #define skip_whitespace(p)      while ((*(p) == ' ') || (*(p) == '\t')) p++
 
 /*
  * nvpair.c - Provides kernel & userland interfaces for manipulating
  *      name-value pairs.