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

@@ -55,11 +55,15 @@
 #endif
 
 static int sf_bus_config_debug = 0;
 
 /* Why do I have to do this? */
-#define offsetof(s, m)  (size_t)(&(((s *)0)->m))
+#if defined(__GNUC__)
+#define offsetof(s, m)  __builtin_offsetof(s, m)
+#else
+#define offsetof(s, m)  ((size_t)(&(((s *)0)->m)))
+#endif
 
 #include <sys/scsi/scsi.h>
 #include <sys/fc4/fcal.h>
 #include <sys/fc4/fcp.h>
 #include <sys/fc4/fcal_linkapp.h>