Print this page
3373 gcc >= 4.5 concerns about offsetof()
@@ -34,11 +34,15 @@
#include <sys/ib/clients/of/sol_ofs/sol_ofs_common.h>
#include <sys/ib/clients/of/rdma/rdma_cm.h>
#include <sys/ib/clients/of/sol_ofs/sol_ib_cma.h> /* Transport Specific */
#if !defined(offsetof)
-#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
#endif
#define IS_UDP_CMID(idp) ((idp)->ps == RDMA_PS_UDP || \
(idp)->ps == RDMA_PS_IPOIB)
#define IS_VALID_SOCKADDR(sockaddrp) \